Hallo allerseits,
ich habe ein Problem mit einer verschachtelten Select-Abfrage.
Das Ergebnis soll so aussehen:
Folgende Abfragen will ich durchführen, d.h. ich will alle Infos aus beiden Tabellen, die zu einer id gehören in einer Zeile darstellen.
Leider bekomme ich folgende Fehlermeldung:
Wenn ich die letzte Zeile weglasse, werden alle Datensätze von Mustermann angezeigt. Also liegt der Fehler in der letzten Zeile. Am 'DATE_FORMAT' liegt's nicht, das hab ich schon überprüft sondern:
Die where-Abfrage auf 'user' bezieht sich auf die erste Tabelle. Die Abfrage auf 'date_start' auf den Alias der verschachtelten Select-Abfrage für die zweite Tabelle.
Geht das mit MySQL gar nicht? Wenn nicht, gibt es eine Alternative?
Bin dankbar für Hinweise.
Grüsse Wolfgang.
ich habe ein Problem mit einer verschachtelten Select-Abfrage.
Code:
Tabelle nodes (Prim: id): ------------------------- id user ------------------------- 1 Mustermann 2 Mustermann
Code:
Tabelle nodes_tags (Prim: node_id, k) ----------------------------------------------- node_id k v ----------------------------------------------- 1 'title' 'Kongress xy' 1 'date_start' '19.08.2010' 2 'title' 'Tagung z' 2 'date_start' '20.08.2010'
Code:
----------------------------------------------------------- id user title date_start ---------------------------------------------------------- 1 Mustermann Kongress xy 19.08.2010 2 Mustermann Tagung z 20.08.2010
Code:
SELECT n.id as id, n.user as user, (SELECT t.v FROM evt_node_tags t WHERE t.node_id=n.id and k='title') as title, (SELECT t.v FROM evt_node_tags t WHERE t.node_id=n.id and k='date_start') as date_start FROM evt_nodes n WHERE user = 'Mustermann' AND DATE_FORMAT(date_start, '%d.%m.%Y') >= DATE_FORMAT('18.08.2010', '%d.%m.%Y')
Code:
#1054 - Unknown column 'date_start' in 'where clause'
Wenn ich die letzte Zeile weglasse, werden alle Datensätze von Mustermann angezeigt. Also liegt der Fehler in der letzten Zeile. Am 'DATE_FORMAT' liegt's nicht, das hab ich schon überprüft sondern:
Die where-Abfrage auf 'user' bezieht sich auf die erste Tabelle. Die Abfrage auf 'date_start' auf den Alias der verschachtelten Select-Abfrage für die zweite Tabelle.
Geht das mit MySQL gar nicht? Wenn nicht, gibt es eine Alternative?
Bin dankbar für Hinweise.
Grüsse Wolfgang.
Kommentar