Thread Eine Zeile mehrfach mit verschiedenen Spalten auslesen? (10 answers)
Opened by pktm at 2010-05-26 19:37

pktm
 2010-05-28 01:14
#137698 #137698
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Lesen möchte ich die gerne. Das Problem ist, dass ein Datensatz aus genau einer Zeile in einer Tabelle besteht. Ein Datensatz enthält aber drei Informationen. Ich will jede Information in einer Zeile.

Die Daten, wie ich sie habe, stehen in dem Beispielcode, den ich dir oben geschrieben habe.
Eine Zeile in dieser Tabelle "test" besteht aus den 7 Feldern id, nl_bez, nl_url, en_bez, en_url, fr_bez und fr_url.

Wenn ich die Abfrage "SELECT * FROM test" absetze, erhalte ich also alle 7 Felder in einer Zeile. Ich will aber immer nur eine Sprache pro Zeile, also eine Zeile mit id, Sprache (die im Namen der Spalte kodiert ist), Bezeichner und URL.

Das Statement "SELECT * FROM test WHERE id = 1" liefert mir im Moment:
Quote
1,'spruiten','/spruiten','syringes','/en/syringes','seringues','/fr/seringues'


Ich will aber sowas hier:
Quote
1,'nl','spruiten','/spruiten'
1,'en','syringes','/en/syringes'
1,'fr','seringues','/fr/seringues'


Grüße, pktm

Edit:

Nach langem Probieren habe ich das hier hinbekommen:
Code: (dl )
1
2
3
4
5
6
7
8
SELECT t1.id, 'nl' as lang, t1.nl_bez as bez, t1.nl_url as url
FROM test t1
UNION
SELECT t2.id, 'fr' as lang, t2.fr_bez as bez, t2.fr_url as url
FROM test t2
UNION
SELECT t3.id, 'en' as lang, t3.en_bez as bez, t3.en_url as url
FROM test t3


Liegt ja auch irgendwie nahe, dass man die Ergebnisse vereinigen (UNION) sollte und nicht, wie ich es probiert hatte, nebeneinander klatschen (LEFT JOIN) sollte....
Last edited: 2010-05-28 01:20:43 +0200 (CEST)
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread Eine Zeile mehrfach mit verschiedenen Spalten auslesen?