2012-04-03 10 views
0

Wenn wir zwei Tabellen haben, sagen wir; "Benutzer" und "Bilder", wie wählen wir Nutzer aus, die mindestens X Bilder haben? Ich glaube, ich brauche zu COUNT() verwendet, aber nicht sicher über die allgemeine Syntax ...Verknüpfen von zwei Tabellen mit mehr als X Zeilen in Tabelle

Die „Benutzer“ Tabelle als User_id Feld, und jedes Bild in den „Bildern“ Reihe hat ein „user_id“ , so dass die beiden Tabellen durch diese verbunden werden können.

Ich habe versucht:

SELECT users.*, SELECT COUNT(*) 
FROM images 
WHERE images.user_id=users.user_id AS num_images 
WHERE num_images>2 

Aber kein Glück - die Syntax ist falsch, aber nicht sicher, wie man eine innere Abfrage richtig tun, oder einfach nur auf den Tisch kommen, wo mindestens zwei Zeilen in der Bilder-Tabelle gibt.

Antwort

2
SELECT u.user_id,COUNT(*) 
FROM users u INNER JOIN images i 
ON u.user_id=i.user_id 
GROUP BY u.user_id 
HAVING COUNT(*)>2; 
+0

Großartig - danke! –

+0

Gern geschehen. – Teja

+0

@HeyThere, wenn die Antwort geholfen hat, sollten Sie in Betracht ziehen, es zu akzeptieren (klicken Sie auf den Häkchen-Umriss durch die Stimmen für die Antwort) –