Hallo!
Ich suche mal wieder ein
SQL-Statement.
Ich habe Tabelle A und Tabelle B. Beide haben x bzw y Einträge.
A hat bspw. 1,2,3,4,5,6,7,8,9,10,11,12,13
B hat bspw. 1,2,3,4,5,6,7
Jetzt brauch ich als Ergebnis im Prinzip ein Inner Join mit allen Einträgen aus A und allen Einträgen aus B, aber ich möchte nicht alle aus A mit allen aus B, sondern ein Eintrag aus A soll immer nur mit 5 Einträgen aus B im Resultat auftauchen. Die Verteilung der B-Einträge soll zufällig sein, also nicht immer die ersten 5.
Soweit bin ich bisher:
Code:
SELECT *
FROM A, B
ORDER BY A,rand()
Und da hörts schon auf.
Wenn ich jetzt ein Limit 5 mache, bekomme ich insgesamt nur 5.
Bei einem Group by A bekomm ich immer nur ein A.
Und sonst hab ich grad keinen Schimmer wie ich das anstellen könnte um auf das gewünschte Ergebnis zu kommen.
Hat jemand eine Idee wie das gehen könnte?
Sonst muss ich wohl doch mehrere Einzelabfragen machen und im Code aussortieren