Query con join condizionata

giovedì 28 gennaio 2010 - 17.27

secks Profilo | Senior Member

Provo a spiegarmi.
Ho 2 query


SELECT art, riga, tipo FROM (PIPPO LEFT JOIN PLUTO ON PIPPO.art = PLUTO.art AND INT(PIPPO.riga/100) = INT(PLUTO.riga/100)) WHERE tipo = 'U'
altrimenti
SELECT art, riga, tipo FROM (PIPPO LEFT JOIN PLUTO ON PIPPO.art = PLUTO.art AND PIPPO.riga = PLUTO.riga) WHERE tipo <> 'U'

la differenza sta sul campo tipo.

La mia domanda è: si può combinare le 2 query in una sola?

Ciao e tutti e grazie.
Paolo.

atsap Profilo | Newbie

>Provo a spiegarmi.
>Ho 2 query
>
>
>SELECT art, riga, tipo FROM (PIPPO LEFT JOIN PLUTO ON PIPPO.art
>= PLUTO.art AND INT(PIPPO.riga/100) = INT(PLUTO.riga/100)) WHERE
>tipo = 'U'
>altrimenti
>SELECT art, riga, tipo FROM (PIPPO LEFT JOIN PLUTO ON PIPPO.art
>= PLUTO.art AND PIPPO.riga = PLUTO.riga) WHERE tipo <>
>'U'
>
>la differenza sta sul campo tipo.
>
>La mia domanda è: si può combinare le 2 query in una sola?
>
>Ciao e tutti e grazie.
>Paolo.

Considerando che il campo "tipo" non potrà mai essere uguale e diverso contemporaneamente, potresti usare una UNION SELECT per unire, appunto, i risultati delle due query, in modo che sia sempre vera almeno una delle due.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5