2015-08-04 2 views
0

У меня есть запрос SQL Select, который я использую, чтобы вернуть столбец идентификаторов, сопоставленный из одной таблицы в другую, и столбец идентификаторов, которые не совпадают. В запросе есть еще несколько столбцов, но они здесь не так важны. В таблице 2 есть еще один столбец (не в настоящее время в запросе), называемый StatusId. Я бы хотел, чтобы идентификаторы отображались только в совпадающем столбце, если StatusId = 3. В противном случае я хотел бы, чтобы они отображались в Unmatched Column. Звучит очень просто, но я не могу понять, как работать WHERE заявление вПопытка выполнить простой SQL-запрос с участием случая и таблицы

запросов:.

Select t2.Id as MatchedId, 
case when t2.Id is null 
then t1.Id end as UnmatchedId 
, t2.Number,t1.Date 
from Table1 t1 
left join Table2 t2 
on t2.Id = t1.Id; 

ответ

2
Select 
case when t2.statusid = 3 then t2.Id end as MatchedId, 
case when t2.statusid <> 3 then t1.Id end as UnmatchedId 
,t2.Number,t1.Date 
from Table1 t1 
left join Table2 t2 
on t2.Id = t1.Id; 

Является ли это то, что вы пытаетесь сделать?

+0

Да, спасибо! Знал, что это было действительно просто, но не смог заставить его работать – cfly24

Смежные вопросы