Mehrere m.meta_keys auslesen

-paul-

Neuer Benutzer
Beiträge
4
Guten Tag liebe Gemeinde!

Ich würde sehr gerne jemanden helfen, der gleichzeitig mehrere m.meta_keys auslesen möchte.

Hier ist das funktionierende Beispiel mit einem m.meta_key = '3' :

SELECT FROM_UNIXTIME( a.START , '%Y-%m-%d %H:%i:%s' ) AS datum,post_title, venue, m.meta_key, m.meta_value FROM 24hb_ai1ec_events a, 24hb_posts b, 24hb_postmeta m where a.post_id = b.id and m.post_id = a.post_id and m.meta_key = '3' ORDER BY datum

Ingesamt gibt es in der Tabelle 20 verschiedene: (m.meta_key = '4', m.meta_key = '5', m.meta_key = '6' ect.)

Somit bin ich auf der Suche nach der richtigen Syntax um alle gleichzeitig auslesen zu können.

Besten Dank für Eure Hilfe!

Paul

 
Werbung:
Guten Morgen!

Ich habe eine Nachfrage:

and m.meta_key in (3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25) ORDER BY datum

funktioniert. Danke noch mal dafür.

Ziel ist es, alle Daten in eine CSV Datei zu exportieren.

Stand jetzt: Es werden in der Tabelle alle Daten untereinander in jeweils eine Spalte exportiert. Ideal wäre es aber, die Ausgabe so zu formatieren, dass alle ausgegebenen Daten in einer Zeile und jeder Wert in einer Spalte angezeigt werden.

Beste Grüße

Paul
 
die Anzahl der Spalten im Resultat hängt dann davon ab, wie viele gefunden werden - das wird so nix. Du kannst maximal die Werte aggregieren und als Komma-Liste ausgeben.

Code:
test=*# select * from foo;
 id |  val   
----+--------
  1 | wert1
  2 | wert2
  3 | wert3
  4 | wert4
  5 | wert5
  6 | wert6
  7 | wert7
  8 | wert8
  9 | wert9
 10 | wert10
 11 | wert11
 12 | wert12
 13 | wert13
 14 | wert14
 15 | wert15
(15 rows)

test=*# select array_to_string(array_agg(val),',') from foo where id in (2,3,4,5);
  array_to_string   
-------------------------
 wert2,wert3,wert4,wert5
(1 row)
 
Werbung:
Zurück
Oben