Mailinglisten-Archive |
Jonathan Deutekom wrote:
> Hallo,
>
> Ich stehe gerade auf dem Schlauch und komm nicht runter. Oje ...
>
> Folgendes Problem: Ich habe eine Tabelle
>
> ID_Produkt ID_Kategorie
> 2 5
> 2 9
>
>
> Jetzt möchte mit einer SQL-Abfrage alle Produkte haben, in dem das Produkt sowohl in Kategorie 2 als auch in Kategorie 9 vorhanden ist. Also als Ergebnis hier die 2 haben (in einer Zeile).
>
> Wie stell ich das an?
entweder du 'JOINst' die Kategorie Tabelle zweimal, oder du machst ein
wenig mit HAVING, GROUP BY und COUNT() rum ...
mit JOIN:
SELECT *
FROM `table`
LEFT JOIN `table` AS `kopie`
USING (`ID_Produkt`)
WERE `table`.`ID_Kategorie` = 2
AND `kopie`.`ID_Kategorie` = 9
oder:
SELECT COUNT(*) AS `anzahl`, *
FROM `table`
WHERE `ID_Kategorie` IN (2,9)
GROUP BY `ID_Produkt`
HAVING `anzahl` >= 2
... o.ä.
--
Sebastian Mendel (www.sebastianmendel.de)
*www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive