php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.12.2009, 12:42  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 476
Plague
Standard SHOW COLUMNS bei SubSelect Abfrage

Hallo zusammen,

ich habe mehrere SQL Abfragen, die diverse Subselects beinhalten. Zur Darstellung der Abfrage in HTML Tabellen, möchte ich die Spaltennamen via SHOW COLUMNS ausgeben.
Leider erhalte ich immer einen Fehler wenn ich nach dem Schema

SHOW COLUMNS d.id,
(SELECT DISTINCT w.wert FROM data_werte w WHERE w.id = '8' AND w.datensatz_id = d.id) AS vorname,
(SELECT DISTINCT w.wert FROM data_werte w WHERE w.id = '9' AND w.datensatz_id = d.id) AS nachname
FROM werte d WHERE d.gruppe = '2'

Ergebnis müsste hier einfach nur id, vorname, nachname sein...

Mache ich etwas falsch oder wie funktioniert die Abfrage von Spaltennamen bei Subselect Statements?

Gruß
Thomas
Plague ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.12.2009, 12:46  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

was ist denn das für ein sql statement?
Warum kein Join, warum dieses konstrukt?

was willst Du mit Show columns hier erreichen? IMHO kanst Du das nicht auf ein select anwenden

Geändert von HPR1974 (30.12.2009 um 12:50 Uhr).
HPR1974 ist offline   Mit Zitat antworten
Alt 30.12.2009, 12:51  
Erfahrener Benutzer
 
Registriert seit: 08.03.2005
Beiträge: 476
Plague
Standard

die Werte die als Vorname und Nachname hier stehen, sind eigene Tabellenzeilen die dadurch zur Spalte gemacht werden. Das SQL Satement funktioniert - es geht um die Abfrage der Zeilennamen.
Plague ist offline   Mit Zitat antworten
Alt 30.12.2009, 13:36  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Plague Beitrag anzeigen
Zur Darstellung der Abfrage in HTML Tabellen, möchte ich die Spaltennamen via SHOW COLUMNS ausgeben.
Die Datenbank ist eigentlich nicht für die Datenaufbereitung zuständig. Ich würde das über eine Schleife in PHP lösen.
Chriz ist offline   Mit Zitat antworten
Alt 30.12.2009, 13:45  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.627
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von Plague Beitrag anzeigen
die Werte die als Vorname und Nachname hier stehen, sind eigene Tabellenzeilen die dadurch zur Spalte gemacht werden. Das SQL Satement funktioniert - es geht um die Abfrage der Zeilennamen.
MySQL :: MySQL 5.0 Reference Manual :: 12.5.5.5 SHOW COLUMNS Syntax

Das Handbuch sagt er funktioniert nicht.

Zitat:
Zitat von Plague Beitrag anzeigen
Leider erhalte ich immer einen Fehler wenn ich nach dem Schema

,,,,,,

Ergebnis müsste hier einfach nur id, vorname, nachname sein...
Wenn du einen Fehler erhälst, was für einen Fehler?

SHOW COLUMS FROM (tabelle) erwartet, wie zu erwarten, eine Tabelle und gibt jede Spalte als Zeile zurück, nicht als Spalten, siehe Beispiel im SQL Handbuch.

D.h. der Befehl kann nicht funktionieren weil du versuchst anstelle einer Tabelle 3 Spalten zu übergeben.

Code:
SHOW COLUMS FROM (SELECT d.id AS id, 
                                                (SELECT DISTINCT w.wert FROM data_werte w WHERE w.id = '8' AND w.datensatz_id = d.id) AS vorname,
                                                (SELECT DISTINCT w.wert FROM data_werte w WHERE w.id = '9' AND w.datensatz_id = d.id) AS nachname) FROM werte d WHERE d.gruppe = '2');
Wäre das einzige was ich mir vorstellen könnte das es funktioniert. Die Ausgabe sähe trotzdme so aus:
Code:
+------------+----------+------+-----+---------+----------------+
| Field      | Type     | Null | Key | Default | Extra          |
+------------+----------+------+-----+---------+----------------+
| Id         | int(11)  | NO   | PRI | NULL    | auto_increment |
| Vorname     |   ..... | ..   |     |         |                |
| Nachname    | .....  | ..   | ... |         |                |
+------------+----------+------+-----+---------+----------------+
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

Geändert von Dark Guardian (30.12.2009 um 13:50 Uhr).
Dark Guardian ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfrage von einer Abfrage Datenbanken 5 27.01.2011 23:31
Problem mit Abfrage - join, inner join, distinct? Gachet01 Datenbanken 2 27.01.2011 06:49
[Erledigt] Daten aus Subselect verwenden matze_te Datenbanken 1 25.08.2009 13:12
Scriptsuche [Erledigt] SQL- Abfrage über 2 tabellen ejim Scriptbörse 1 17.07.2009 21:10
SQL Abfrage ohne DESC langsam Thisi Datenbanken 5 07.01.2009 09:53
Wiemache ich eine Abfrage über 3 Tabellen??? djscaleo Datenbanken 8 05.01.2009 10:46
MySQL - Fehler in einfacher Abfrage oden Datenbanken 11 03.01.2009 20:03
mysql abfrage in Schleife havok PHP Tipps 2006 6 09.05.2006 08:39
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
Runtime Information ph!l Datenbanken 4 15.06.2005 15:43
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Abfrage von Char-Feldern Datenbanken 9 04.02.2005 14:06
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
show columns, mysql show columns subselect, show columns from, mysql show columns join, mysql show columns, show columns from select, \show colums from\ where field, select columns by id, sql select subselect, show columns select, was ist ein subselect, show columns from beispiel, show subselect, select show columns, show columns mysql, subselect abfragen, show columns subselect, show columns mehrere tabellen, mysql select und show in einer abfrage, show columns geht nicht

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum