C'est normal, la tu recherches les LIGNES où tu as un site d'ou l'id est 1 et 2 à la fois donc tu n'as aucun résultat.
Une solution possible a froid:
SELECT abo_id, COUNT(*) AS NbSites FROM news_abo_liste WHERE id_site = 2 OR id_site = 1 GROUP BY abo_id
Ca va te dire, pour chaque abo_id le nombre de sites qui sont soit 1 soit 2, donc dans la colonne NbSites tu auras soit 0 (aucun site a 1 ou 2), soit 1 (site 1 OU site 2) soit 2 (site 2 ET site 1)
Comme les résultats sont triés sur cette colonne en décroissant, tu récupères rapidement tous ceux qui ont les deux sites
(tu pourrais aussi utiliser un SELECT IN pour choisir ceux qui ont le site 1, puis parmis eux ceux qui ont le site 2).
Il y a surement une méthode plus propre
Partager