2017-03-27 2 views
-2

Ich muss diese beiden Abfragen kombinieren, so dass "Ja" erzeugt wird, wenn HET = 1 und UOW = 3 in der TPS-Tabelle und "Nein" andernfalls erzeugt wird. Gibt es eine Möglichkeit, dies zu tun?SQL Server JOIN und SELECT CASE in 1 Abfrage

select 
    TPS.HET, 
    TPS.UOW AS UOW 
from controls 
inner join TPS on 
    ctrls.Priority_Score=TPS.score 
inner join TPS AS UOW on 
    ctrls.Priority_Score=TPS.score 

select 
    case when HET = '1' then 'Yes' else 'No' end as HET, 
    case when UOW = '3' then 'Yes' else 'No' end as UOW from TPS 
+1

Warum Sie nicht einfach hinzufügen tha t case Konstrukt zu der Select-Klausel der ersten Abfrage? –

+1

Kleben Sie diese beiden Case-Anweisungen unter SELECT in Ihrer ersten Abfrage und Sie haben, was Sie wollen (stellen Sie nur ein zusätzliches Komma, um Ihre Felder zu trennen) – JNevill

+1

Warum tun Sie dies, 'innere beitreten TPS AS UOW auf ctrls.Priority_Score = TPS.score'? –

Antwort

0
select 
    case when TPS.HET = '1' then 'Yes' else 'No' end as HET, 
    case when TPS.UOW = '3' then 'Yes' else 'No' end as UOW 
from controls 
inner join TPS on 
    ctrls.Priority_Score=TPS.score 
inner join TPS AS UOW on 
    ctrls.Priority_Score=TPS.score 
0

Fügen Sie einfach Ihre CASE WHEN statement in Ihrem wählen.
Auch müssen Sie Ihre zwei WHEN statement in nur einer mit einem AND kombinieren, um nur „Ja“ zu erhalten, wenn HET 1 und UOW ist 3.

select ExpectedResult = CASE WHEN TPS.HET = '1' AND TPS.UOW = '3' THEN 'Yes' ELSE 'No' END, 
     TPS.HET, 
     TPS.UOW AS UOW 
from controls 
inner join TPS on ctrls.Priority_Score=TPS.score 
inner join TPS AS UOW on ctrls.Priority_Score=TPS.score 
0

Verwenden and in Ihrem case Ausdruck

case when HET = '1' and UOW = '3' then 'Yes' else 'No' end as 

select 
    case when HET = '1' and UOW = '3' then 'Yes' else 'No' end as HET, 
    case when HET = '1' and UOW = '3' then 'Yes' else 'No' end as UOW 
from controls 
inner join TPS on 
    ctrls.Priority_Score=TPS.score 
inner join TPS AS UOW on 
    ctrls.Priority_Score=TPS.score