我正試圖用新標準重寫遺留連接語法。如何重寫遺留連接語法* =在SQL Server中
SELECT count(*)
FROM es_dbo.tablTypes t
,es_dbo.tablReg r
,es_dbo.tabl_PRGandCLI p
WHERE t.ClientType *= r.ClientType
AND p.ID IN (
SELECT DISTINCT ClientID
FROM esinet_dbo.tablReG
)
AND t.ClientType IN (@intClientType)
這是我正在嘗試。
SELECT count(*)
FROM es_dbo.tablTypes t
LEFT JOIN es_dbo.tablReg r ON t.ClientType = r.ClientType
LEFT JOIN es_dbo.tabl_PRGandCLI p ON p.ID IN (
SELECT DISTINCT ClientID
FROM es_dbo.tablReG
)
我收到的記錄相同的,我是否使用LEFT JOIN或內部查詢的第二部分JOIN。誰能解釋
你得到相同的記錄,因爲這是那裏的數據意味着什麼區別。我認爲你的重寫應該是內部連接,而不是剩下的,我不認爲你需要子查詢 –
我不確定是否應該在INNER JOIN或LEFT JOIN中使用es_dbo.tabl_PRGandCLI。沒有加入條件 –
如果沒有加入條件,那麼我認爲這是一個交叉 –