2013-07-26 2 views
1

Я пытаюсь извлечь две записи из базы данных, которая извлекает текущий отдел и отдел, отвечающий за него.SQL Join, который извлекает выбранную запись, и где условие

Например, Департамент ид 13 Управляется отдела ид 18

select dm.* from TblDepartment d 
join TblDepartment dm 
on d.ManagedBy = dm.id or d.id = dm.ManagedBy 
where d.id = 13 

которые соединяют мне нужно использовать для извлечения детали как информации отдела отдела 13 и отдела 18?

ответ

1

Try происходит некорректно:

select d.id Dept_Id, d.ManagedBy 
from 
    TblDepartment d 
where 
    d.id = 13 
union 
select dm.id Dept_Id , dm.ManagedBy 
from 
    TblDepartment d 
inner 
    join TblDepartment dm 
on d.ManagedBy = dm.id 
where 
    d.id = 13 
+0

Это точно так же, как мой ответ – Hogan

1

Два ряда

select 'Dept' as [type], * from 
TblDepartment d 
where d.id = 13 
union all 
select ' managed by' as [type], * from 
TblDepartment d 
where d.id = 18 

Или с присоединиться и один вход:

select 'Dept' as [type], * from 
TblDepartment d 
where d.id = 13 
union all 
select ' managed by' as [type], m.* from 
TblDepartment d 
join TblDepartment m on d.ManagedBy = m.id and d.id = 13 
Смежные вопросы