Rareer
Threadersteller
Dabei seit: 22.06.2009
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 26.06.2015 10:55
Titel SQL Abfrage |
|
|
Hallo Leute,
ich habe ein kleines SQL Problem, was ich nicht lösen kann. Und zwar habe ich 2 Tabellen, die folgendermaßen aussehen:
Tabelle 1:
id, name, description, main
Tabelle 2:
articleID, img, extension, color
Ich möchte nun alle Einträge bekommen, wo id mit articleID übereinstimmt. Dabei gibt es in T1 immer nur einen Eintrag und in T2 immer mehrere. z.Z. ist meine Abfrage die folgende:
Code: |
"SELECT t1.name, t1.description, t1.id, t2.img, t2.extension
FROM t1
JOIN t2
ON t1.id = t2.articleID AND (t2.main = 1 OR t2.color ='')
LIMIT 10 OFFSET 0";
|
Soweit funktioniert es auch. Allerdings gibt es jetzt zwei Probleme.
1. Das Limit bezieht sich auf t2, obwohl es nur t1 begrenzen soll
2. Wie bekomme ich es hin, dass die Ergebnisse (mehrere Einträge), die aus t2 für einen Eintrag aus t1 geholt werden zusammengefasst werden, sodass ich insgesamt für einen Eintrag aus t1 auch nur einen Datensatz bekomme.
D.h. momentan ist das Result so:
Datensatz1:
id = 1
name = "Max"
description ="Ein Doofkopf"
...
img (aus t2) ="bild1.jpg"
Datensatz2:
id = 1
name = "Max"
description ="Ein Doofkopf"
...
img (aus t2) ="bild2.jpg"
und so weiter ... ich habe also für jeden Eintrag aus t2 einen Datensatz, der sich nur im "img" unterscheidet.
Ich möchte aber folgendes haben:
Datensatz1:
id = 1
name = "Max"
description ="Ein Doofkopf"
...
img (aus t2) = array("bild1.jpg", "bild2.jpg")
Wenn mir da jemand helfen könnte, wäre ich sehr erfreut.
|
|