ciao a tutti... mi ritrovo ad avere una query un po troppo complessa per le mie misere capacità...
Vi descrivo il DB (lo semplifico tanto basta capire):
tabella soggetti
id - nome - cognome - ruolo - cod_sogg
1 - marco - rossi - d4 - XXX_000
2 - pippo - franco - d4 - AAA_111
tabella recapiti
id - cod_sogg - tel - cell - preferito
1 - XXX_000 - 0121.xxx - 328.xxxxx - 0
2 - XXX_000 - 011.xxxx - 328.xxxxx - 1
3 - AAA_111 - 0121.xxx - 338.xxxxx - 1
4 - AAA_111 - 02.xxxxx - 333.xxxxx - 0
risultato
id - nome - cognome - tel - cell - preferito - cod_sogg
1 - marco - rossi - 011.xxxx - 328.xxxxx - 1 - XXX_000
2 - marco - rossi - 0121.xxx - 328.xxxxx - 0 - XXX_000
3 - pippo - franco - 0121.xxx - 338.xxxxx - 1 - AAA_111
4 - pippo - franco - 02.xxxxx - 333.xxxxx - 0 - AAA_111
Questo lo ottengo facendo una semplice Join:
codice:
SELECT nome,cognome,tel,cell,preferito,cod_sogg
FROM soggetti LEFT JOIN recapiti ON soggetti.cod_sogg=recapiti.cod_sogg
ORDER BY preferito DESC
ho usato LEFT e non INNER perche se non c'è alcun elemento in indirizzo cmq voglio vedere il soggetto.
Ora il problema:
io vorrei ottenere solo una tabella con
cod_sogg - nome - cognome
però con le voci non ripetute (quindi un solo marco rossi) e potendo però fare delle ricerche su tel, cell. Uso MySQL 4.0.13
Ciao e grazie