簡體   English   中英

在SQL Server中查詢多個表

[英]Query multiple tables in SQL Server

我有3個表ManagerLeadTrainee以及它們通過Relation表的Relation

所附圖片描繪了帶有行和列的表格:

在此處輸入圖片說明

我需要得到Lead名和Trainee名稱為給定的Manger.Id

我從以下查詢中獲得了參數名稱:

select 
    L.Name
from 
    Lead L, Manager M, Relation R 
where 
    R.PrimaryId = M.Id 
    and R.SecondaryId = L.Id 
    and M.Id = 'M101';

我如何獲得學員姓名和線索名稱?

如果使用聯接而不是1992年前的舊語法編寫查詢,則查詢會更清晰:

select  L.Name
from    Manager M
join    Relation R 
on      R.PrimaryId = M.Id
join    Lead L
on      R.SecondaryId = L.Id
where   M.Id = 'M101'

您可以添加兩個新的left join以顯示每個經理的受訓者:

select  L.Name as lead
,       R.Name as trainee
from    Relation ML
join    Lead L
on      ML.SecondaryId = L.Id
left join
        Relation LT
on      LT.PrimaryId = L.Id
left join
        Trainee T
on      LT.SecondaryId = T.Id
where   ML.PrimaryId = 'M101'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM