View Full Version : SQL Query halp pls
Warbarbie
17th February 2012, 13:06
Allora,
il problema è il seguente:
tabella A e tabella B
le 2 tabelle si legano attraverso 2 campi( A.x=B.x e A.y=B.y)
dovrei attraverso una query tirare fuori se possibile i dati nel seguente modo.
Da A solo quei campo che rispettano la condizione di cui sopra, da B tutti i record anche se la condizione non viene rispettata.
Voi che siete più informatici di me halp pls
Tunnel
17th February 2012, 13:13
Uhm ? si può fare un join basato su 2 campi anzichè su 1 ? o_0
io sapevo
SELECT TabellaA.Colonna1,TabellaA.Colonna2,TabellaA.Colon nan,TabellaB.Colonna1,TabellaB.Colonna2,etc
FROM TabellaA
INNER JOIN TabellaB
ON TabellaA.Colonna1=TabellaB.Colonna1
where TabellaA.Colonna1 in ( condizione )
Uhm, ho visto ora il discorso del non A, devi usare un right join
Warbarbie
17th February 2012, 13:15
Boh penso di si, la chiave è un id sequenziale e l'anno di riferimento, ogni anno l'id riparte da zero, quindi la chiave è la combo dei 2
Mez
18th February 2012, 00:07
ma se relazioni con l'istruzione INNER JOIN ?
Rise-the-Sky
18th February 2012, 01:58
Puoi usare right join, left join oppure una union di 2 subquery.
Cmq si un join accetta anche condizioni composite.
Quindi la query viene
Select a.*, b.*
From tabellaB as b
Left Join tabellaA as a on (a.anno=b.anno and a.id = b.id)
oppure si usa un right invertendo tutto. In generale le right join si usano poco.
la union verrebbe
Select b.*,
a.*
From tabellaA as a,
tabellaB as b
Where a.anno = b.anno
And a.id +b.id
Union
Select b.*,
null x ogni campo di a
From tabellaB as b,
tabellaA as a
WHERE not (a.anno = b.anno
And a.id +b.id)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.