Salve a tutti, vi faccio un esempio per farvi capire il problema

supponete di avere 2 tabelle, una che si chiama ordini, una invece che si chiama prodotti_ordine

la tabella ordine ha i campi:
Id,Nome Cliente,Data Consegna

popolo qualche record:
1,pinco pallino,12/04/1999
2,beppe rossi,13/02/2012
3,viola rosi,1/07/2011
4,maurizio ganzo,19/03/2010



la tabella prodotti_ordine ha i campi:
Id (chiave primaria)
IdOrdine (relazione con la tabella ordini)
CodiceProdotto
Qta

popolo qualche record:
1,1,mocassini,22
2,2,ciabatte,40
3,3,ballerine,57
4,3,stivali,36
5,4,pantofole,44

un classico esempio di relazione uno a molti.


supponendo che io voglia visualizzare gli ordini con all'interno il codice "pantofole"

SELECT O.* FROM ordini O , prodotti_ordine PO where PO.IdOrdine = O.Id and PO.Codice like 'stivali';

ed il risultato è il seguente:


4,maurizio ganzo,19/03/2010



e questo mi va più che bene.

se però tolgo il like dalla query mi si duplicano i record...

SELECT O.* FROM ordini O , prodotti_ordine PO where PO.IdOrdine = O.Id

il risultato è i lseguente:

1,pinco pallino,12/04/1999
2,beppe rossi,13/02/2012
3,viola rosi,1/07/2011
3,viola rosi,1/07/2011
4,maurizio ganzo,19/03/2010

come potete vedere l'id 3 viene ripetuto 2 volte.

Come faccio a fare una query che non mi ripeta i record ma mi consenta ugualmente la ricerca?