xpfreund: Mysql-Pendant zu Postgres SELECT ARRAY

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

  1. 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.

    1. 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

      1. Meine Herren!

        scheint nicht so zu funktionieren wie es soll.

        Wie sieht denn dein Code aus, analog zu dem gerade gegebenen Beispiel?

        1. 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

          1. Hi,

            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

            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

            --
            Warum nennt sich Andreas hier MudGuard?
            O o ostern ...
            Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.