perchè devo estrarre solo gli IDcliente che hanno acquistato entrambi i prodotti

in questo modo
codice:
SELECT *
FROM TABELLA
WHERE IDprodotto = '$id1'
or IDprodotto = '$id2'
ORDER BY IDprodotto, IDcliente
estraggo anche quelli che non ne hanno acquistato uno solo, e se li incrocio in and non ne trovo nessuno (nessuna riga ha ovviamente + prodotti)