Query su 3 tabelle quasi identiche

  • Creatore Discussione Creatore Discussione Monital
  • Data di inizio Data di inizio

Monital

Utente Attivo
15 Apr 2009
778
2
18
mmmh

forse è solo eprchè non sono molto concentrato sti giorni ma credo di essermi perso nei meandri della join

vorrei eseguire una triplaquery che mi restituisca però dei valori unici mi speigo con un esempio

ho 3 tabelle

Tabella 1
Nome|citta|x|compagno
Pippo|Topolinia|0|Pluto
Paperino|Paperopoli|2|Paperina
Topolino|Topolinia|4|Minni

Tabella 2
Nome|citta|eta|compagno
Pippo|Topolinia|1|Pluto
Paperino|Paperopoli|2|Paperina
Basettoni|Topolinia|0|Manetta

Tabella 3
Nome|citta|eta|compagno
Pippo|Topolinia|2|Pluto
Paperino|Paperopoli|2|Paperina
Basettoni|Topolinia|3|Manetta
Paperone|Paperopoli|2|Amelia

Ora io devo estrarre le righe di tutte e 3 le tabelle dove la cittaà e paperopoli e dove trova nomi uguali mi deve restituire il distinct cioè uno solo
ad esempio con

SELECT Nomi FROM tabella1 tabella2 tabella3 where tabella3.x>0 AND tabella1.citta=Paperopoli AND tabella2.citta=Paperopoli AND tabella3.citta=Paperopoli

mi deve restituire

Paperino(|Paperopoli|2|Paperina) --->questo è presente in tutte e 3 le tabelle ma me ne deve restituire solo uno
Paperone--->da tabella 3

coem si fa una query del genere? anche perchè con la join lui mi cerca solo quelli della tabella1 (che ha corrispondenza o meno con latre tabelle) o mi sbaglio?

Thank
 
Ciao,
potresti provare con qualcosa di simile
Codice:
SELECT DISTINCT Nome,citta,eta,compagno FROM (
SELECT Nome,citta,eta,compagno
       FROM tabella
UNION ALL
SELECT Nome,citta,eta,compagno
       FROM tabella2
UNION ALL
SELECT Nome,citta,eta,compagno
       FROM tabella3
) as TAB 
WHERE TAB.citta = 'Paperopoli'
non ho testato
 

Discussioni simili