簡體   English   中英

用於內部聯接的SQL查詢

[英]SQL Query for Inner Join

有三個表主,常規和客戶。

我將ControlId保存在Master和Regular的客戶master中。 我想從客戶記錄中獲得Master的個人資料。

通過使用下面的查詢。 我可以從常規位置獲取MasterID,但我想要Profile。

詢問

select * from customer where refId='R000003'
    (select ControlId from regular where LicenseId='R000003')

結果

在此處輸入圖片說明

主表

在此處輸入圖片說明

常規表

在此處輸入圖片說明

我的查詢是..

SELECT        Customer.CustomerId, Regular.LicenseId, Regular.ControlId, 
              Master.FullName, Master.profile
FROM          Customer INNER JOIN
              Regular ON Customer.RefId = Regular.LicenseId INNER JOIN
              Master ON Regular.ControlId = Master.MasterId                            
WHERE        (Customer.RefId = 'R000003') 

但是它顯示了Regural唯一的我想要大師記錄...

你是這個意思嗎? 我不確定..

select regular.ControlId, master.profile
from regular r inner join master m ON (r.controlId = m.masterId)
where regular.LicenseId='R000003'

發布數據圖像無濟於事。 沒有人要輸入。粘貼示例。

我猜想RefIdLicenseId引用。 我認為這是您想要的查詢:

select c.*, m.profile
from customer c join
     regular r
     on c.refId = r.LicenseId join
     master m
     on r.controlId = m.MasterId;

我建議您修理桌子。 不同表中的聯接鍵應具有相似的名稱,因此您知道它們排成一行。 實際上,我幾乎總是將聯接鍵命名為“ Id”,因此此查詢看起來更像是:

select c.*, m.profile
from customer c join
     regular r
     on c.CustomerId = r.CustomerId join
     master m
     on r.MasterId = m.MasterId;

暫無
暫無

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

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