mySQL: 1242: Subquery returns more than 1 row
Linuchs
- sql
0 dedlfix
Moin,
mit SELECT rufe ich eine Menge von Veranstaltungen auf und möchte zu jeder Veranstaltung die dazu 0..n hinterlegten Veranstaltungstypen finden.
Der Subselect löst den Fehler 1242 aus:
SELECT
...
,( SELECT
typ_id
FROM ".$db[0]['termin_typ']." tty1
WHERE tty1.termin_id = trm1.id
) typ_ids
Gerne würde ich im Feld typ_ids sowas haben wie 7,12,65
Ich könnte die gesuchten ids mit JOIN anhängen, aber dann habe ich ja den Ursprungssatz dreimal.
Gibt es einen Trick?
Gruß, Linuchs
Tach!
mit SELECT rufe ich eine Menge von Veranstaltungen auf und möchte zu jeder Veranstaltung die dazu 0..n hinterlegten Veranstaltungstypen finden.
0..n Ergebnisse können nur auf Tabellenebene weiterverarbeitet werden. In der Select-Klausel (Feldliste) kann generell nur ein Subselect mit einem einzelnen Ergebnis (eine Zeile, eine Spalte) notiert werden.
Gerne würde ich im Feld typ_ids sowas haben wie 7,12,65
Dann musst du die Ergebnisse zusammenfügen, beispielsweise mit GROUP_CONCAT().
dedlfix.