Добавить условие при использовании LEFT OUTER JOIN - PullRequest
4 голосов
/ 22 августа 2011

У меня есть две таблицы, я хочу добавить одно условие при использовании LEFT OUTER JOIN

select tt.description,tt.visible,vct.currvalue 
from tblemployee tt 
left outer join viwcurrentemployee vct on vct.transitiontype = tt.cid
                                      and vct.employee = 63 
                                      and tt.visible = 1 
order by tt.cid

я хочу только те записи, которые имеют visible = 1, что верно, но запрос игнорирует условие и одну вещь, которую ядолжен использовать левое внешнее объединение, потому что я хочу, чтобы запись из левой таблицы даже не присутствовала в правой таблице, как проверить условие, что я получу только те записи из левой таблицы, в которых видимое значение равно 1

Ответы [ 2 ]

12 голосов
/ 22 августа 2011

Попробуйте это

select tt.description,
       tt.visible,
       vct.currvalue 
from tblemployee tt 
  left outer join viwcurrentemployee vct 
    on vct.transitiontype = tt.cid and 
       vct.employee = 63
where tt.visible = 1 
order by tt.cid

Я вместо этого переместил tt.visible = 1 в предложение where.vct.employee = 63 нужно остаться в соединении, потому что иначе у вас не было бы внешнего соединения.

2 голосов
/ 22 августа 2011
select tt.description,tt.visible,vct.currvalue 
from tblemployee tt 
left outer join viwcurrentemployee vct on vct.transitiontype = tt.cid
                                      and vct.employee = 63 
where tt.visible = 1 
order by tt.cid
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...