phpbar.de logo

Mailinglisten-Archive

[dbs] Idee für Abfrage?

[dbs] Idee für Abfrage?

Sebastian Mendel lists at sebastianmendel.de
Fre Sep 8 12:07:02 CEST 2006


ANGEL Harald schrieb:
> Ich weiß der Topicname is blöd, mir ist aber nichts besseres eingefallen.
> 
> Ich hab diese Tabelle:
> 
> bilder_user

man sollte immer Einzahl verwenden für Tabellen-Namen, ist kürzer, und
das mehrere Datensätze in einer Tablle sind ist ja klar .. ;-)

bild_user

> - id
> - bildid
> - userid
> 
> -> da sind also alle bilder - zu - user kombinationen gespeichert. Also alle user, die auf dem bild zu sehen sind. Einträge schauen dann so aus:
> 
> Id	bildid	userid
> 1	1		1
> 2	1		2
> 3	1		5
> 4	2		3
> 5	2		2
> 
> Klaro...
> Meine anforderung ist jetzt, dass ich mit einem select alle bildids bekomme, auf denen der user mit der userid "2" und "1" gemeinsam drauf sind... Sollte also nur bildid "1" ausspucken.
> 
> Schaff ich das überhaupt mit einem SELECT?
> 
> Danke für Hilfe.. Ich zermarter mir da meinen Kopf und komm ned drauf...

SELECT
	`bildid`,
	COUNT(DISTINCT `userid`) AS `usercount`
FROM
	`bilder_user`
WHERE
	`userid` IN ([meine user])
GROUP BY
	`bildid`
HAVING
	`usercount` > [anzahl meiner user]


also z. B.:

SELECT
	`bildid`,
	COUNT(DISTINCT `userid`) AS `usercount`
FROM
	`bilder_user`
WHERE
	`userid` IN (33,85,101)
GROUP BY
	`bildid`
HAVING
	`usercount` > 3



-- 
Sebastian Mendel

www.sebastianmendel.de

php::bar PHP Wiki   -   Listenarchive