Ciao, sto imparando ad usare Postgres e ho trovato un esercizio ke non risco a risolvere..ho 4 tabelle

CLIENTE (numC,cognome, citta)

PRODOTTO (numP,nome)

ORDINE (numO,data,cliente) FK: cliente REFERENCES CLIENTE

INFOO (numO,numP,quantita) FK: numO REFERENCES ORDINE --- numP REFERENCES PRODOTTO


Interrogazioni:

Per ogni prodotto che è stato ordinato almeno due volte, selezionare l'identificativo del cliente che ha effettuato l'ordine più recente.

Io ho elaborato una query che però non dà i risultati sperati, anke se dovrei essere vicino...:-)

codice:
SELECT numP, cliente, data FROM ordini.ordine NATURAL JOIN ordini.infoo WHERE numP IN(
	SELECT numP FROM ordini.infoo GROUP BY numP HAVING COUNT (*) > 1)
	AND data IN (SELECT MIN(data) FROM ordini.ordine NATURAL JOIN ordini.infoo GROUP BY numP);
Qualcuno mi può dire come dovrei correggere??