Mysql-Pendant zu Postgres SELECT ARRAY
xpfreund
- datenbank
0 1UnitedPower0 xpfreund
Hallo allerseits,
im Postgresql gibts ja den Aufruf SELECT ARRAY(SELECT id From table). Ergebnis ist in dem Fall ein kommagetrennter String mit allen Ids also {5,7,9}.
Gibt es dafür auch in Mysql in dem Fall 5.5 ein Pendant dafür? Google und Forensuche hab ich nix gefunden. Danke schonmal.
Mit freundlichen Grüßen
xpfreund
Meine Herren!
im Postgresql gibts ja den Aufruf SELECT ARRAY(SELECT id From table). Ergebnis ist in dem Fall ein kommagetrennter String mit allen Ids also {5,7,9}.
Gibt es dafür auch in Mysql in dem Fall 5.5 ein Pendant dafür? Google und Forensuche hab ich nix gefunden. Danke schonmal.
Ohne PostgreSQL zu kennen: Eine komma-separierte Liste kannst du mit GROUP_CONCAT zusammen bauen, die umschließenden geschweiften Klammern mit CONCAT.
Hallo,
scheint nicht so zu funktionieren wie es soll.
Nochmal ein detailierteres Bsp.:
SELECT id, ARRAY(SELECT id FROM table2 where table1.id = table2.idtbl1) FROM table1 where id = 1
Ergebnis:
5, {7,9,11}
Vom Prinzip her ein left join auf tabelle2 mit dem Unterschied, dass nicht 3 Ergebnisse, sondern nur eines kommt
Meine Herren!
im Postgresql gibts ja den Aufruf SELECT ARRAY(SELECT id From table). Ergebnis ist in dem Fall ein kommagetrennter String mit allen Ids also {5,7,9}.
Gibt es dafür auch in Mysql in dem Fall 5.5 ein Pendant dafür? Google und Forensuche hab ich nix gefunden. Danke schonmal.Ohne PostgreSQL zu kennen: Eine komma-separierte Liste kannst du mit GROUP_CONCAT zusammen bauen, die umschließenden geschweiften Klammern mit CONCAT.
gruß aus Berlin
Meine Herren!
scheint nicht so zu funktionieren wie es soll.
Wie sieht denn dein Code aus, analog zu dem gerade gegebenen Beispiel?
Hallo,
meine Idee war jetzt
SELECT table1
.id, GROUP_CONCAT(SELECT id FROM table2
WHERE table2
.tbl1id = table1
.id) as 'ids' FROM table1
WHERE id = 5
aber das gibt nen schönen Fehler, da das Group_concat anscheinend kein select an nimmt
Meine Herren!
scheint nicht so zu funktionieren wie es soll.
Wie sieht denn dein Code aus, analog zu dem gerade gegebenen Beispiel?
gruß aus Berlin
Hi,
meine Idee war jetzt
SELECT
table1
.id, GROUP_CONCAT(SELECT id FROMtable2
WHEREtable2
.tbl1id =table1
.id) as 'ids' FROMtable1
WHERE id = 5aber das gibt nen schönen Fehler, da das Group_concat anscheinend kein select an nimmt
Nur ja keinen Blick ins MySQL-Handbuch werfen, sonst könnte man ja lesen, daß GROUP_CONCAT im Zusammenhang mit GROUP BY stehen könnte ...
cu,
Andreas