【发布时间】:2014-05-11 11:50:54
【问题描述】:
所以我有一个表 X,假设它有 50 行数据,它正在连接到另一个只有 2 行的表。当我“正常”JOIN 它们在一起时,只会显示重叠数据,即在 50 的较大集合中找到的两行数据。在我的情况下,我希望所有 50 行都保留,所以我使用 LEFT JOIN我按计划返回了所有 50 行。
现在我想开始在其他表中添加和加入以获取有关这些行的其他数据并让它们一起显示,只要没有数据,我就可以得到 null。现在我要添加一个新的JOIN,它只会查找这两行的数据,而不是其他 48 行的数据,这非常好,我希望在找不到匹配项的地方显示 NULL。我的问题是,不是那样做,而是显示空值,而是删除 48 行将完全在其列中的部分空数据,只显示匹配的两个,为什么?
如果需要我可以提供代码,我认为这可能更容易理解。
【问题讨论】:
-
是的,请提供代码。不过,听起来你想让所有的连接都左连接。
-
你说得对,我需要继续使用左连接。新手错误,谢谢。
标签: sql sql-server tsql join left-join