Kur*_*urt 11 sql t-sql sql-server inner-join
我有一个像下面这样的查询返回我期望的正确行数.(它必须匹配类似的查询,该查询返回相同的数据集,但具有与其他相关表不同的关联信息.
SELECT *
FROM LK
INNER JOIN STC ON LK.V = STC.VI
LEFT OUTER JOIN BC ON LK.BC = BC.ID
LEFT OUTER JOIN K AS LT ON ISNULL(BC.ZA, LK.VH) = LT.KNN
WHERE
LT.KI IS NOT NULL AND LT.KS = 0
OR
LT.KI IS NULL
ORDER BY
LK.Z
Run Code Online (Sandbox Code Playgroud)
但是,只要我添加其他内部联接,我实际上会获得更多行.我认为内连接只在连接的两边找到信息时返回行,所以我希望得到相同或更少的行.但我的两倍左右.
例如:
SELECT *
FROM LK
INNER JOIN STC ON LK.V = STC.VI
INNER JOIN VK ON LK.V = VK.ID
INNER JOIN K AS A ON VK.AIN = A.KNN
LEFT OUTER JOIN BC ON LK.BC = BC.ID
LEFT OUTER JOIN K AS LT ON ISNULL(BC.ZA, LK.VH) = LT.KNN
WHERE
LT.KI IS NOT NULL AND LT.KS = 0
OR
LT.KI IS NULL
ORDER BY
LK.Z
Run Code Online (Sandbox Code Playgroud)
这有意义吗?如何添加两个内部联接会导致返回更多行?
更重要的是我的实际问题,我如何调整第二个查询,以便它返回与第一个查询相同的行,但使用连接表中的额外列?