query("SELECT kk.id, vorderseite, rueckseite, farbe, name FROM karteikarte kk JOIN kategorie k ON k.id = kk.kategorie_id;"); $karteikarten = $stmt->fetchAll(PDO::FETCH_ASSOC); /*WITH zeile AS ( SELECT d.id, d.wort, k.name, i.wort AS italienisch, i.farbe_id AS farbe, ROW_NUMBER() OVER (PARTITION BY d.wort ORDER BY i.id) AS rn FROM deutsch d JOIN italienisch i ON i.deutsch_id = d.id JOIN kategorie k ON k.id = d.kategorie_id ) SELECT id, wort, name, MAX(CASE WHEN rn = 1 THEN italienisch END) AS wort_1, MAX(CASE WHEN rn = 1 THEN farbe END) AS farbe_1, MAX(CASE WHEN rn = 2 THEN italienisch END) AS wort_2, MAX(CASE WHEN rn = 2 THEN farbe END) AS farbe_2, MAX(CASE WHEN rn = 3 THEN italienisch END) AS wort_3, MAX(CASE WHEN rn = 3 THEN farbe END) AS farbe_3, MAX(CASE WHEN rn = 4 THEN italienisch END) AS wort_4, MAX(CASE WHEN rn = 4 THEN farbe END) AS farbe_4, MAX(CASE WHEN rn = 5 THEN italienisch END) AS wort_5, MAX(CASE WHEN rn = 5 THEN farbe END) AS farbe_5 FROM zeile GROUP BY id, wort, name ORDER BY wort;*/ echo json_encode($karteikarten);