這是一個尷尬的問題!但是我現在還沒有使用tsql一段時間。爲什麼我的內部連接不起作用
我有3個表:
- 工作
- 畫廊
- JobWorkUnit
的Gallery
主鍵鏈接到相應的外鍵Job
。主鍵JobWorkUnit
鏈接到相應的外鍵Job
我希望返回Job
上的所有記錄,而不管它們在其他2個表中是否有'鏈接'。
我以爲用LEFT OUTER JOIN
就是這樣做的,但是我根本沒有得到任何記錄。
有人可以檢查我的代碼嗎?
SELECT
*
FROM
Job J
LEFT OUTER JOIN
Gallery G ON G.JobRef = J.JobRef
LEFT OUTER JOIN
JobWorkUnit JWU ON J.JobRef = JWU.JobRef
WHERE
J.Active = 1
AND G.Active = 1
AND JWU.Active = 1
AND J.CompanyRef = @CompanyRef
有在WorkUnit
或Gallery
沒有記錄,如果我刪除:
AND G.Active = 1
AND JWU.Active = 1
我得到2條回來,我Where
子句重寫我的連接類型。這是一個公平的事情嗎?
'job'中是否有任何行?你有'where'條款嗎?爲什麼標題詢問內部連接? –
@MartinSmith感謝您的評論。是的,Jobin中有definatley行:)。我已經測試它沒有使用連接,我得到2記錄返回 –
但是,我確實有一個Where的原因,這就是這種情況,所以Iwill編輯我的問題。謝謝讓我關注:) –