【发布时间】:2017-07-15 00:33:17
【问题描述】:
这是我的基本表:
编号 |SITE_WT |SITE_WT_DATA |SITE_NWT |SITE_NWT_DATA A
|1 |NULL |1 |NULL
这是我的选择和完整连接:
SELECT Number,T1.site ,T2.site,T3.site ,T4.site
FROM [A] AS T1
FULL JOIN [B] AS T2
ON T1.number=T2.number
FULL JOIN [C] AS T3
ON T2.number = T3.number
FULL JOIN [D] AS T4
ON T3.number=T4.number
这是结果:
编号 |SITE_WT |SITE_WT_DATA |SITE_NWT |SITE_NWT_DATA A |1234
|NULL |NULL |NULL A |NULL |NULL |1234
|空
我有 Null 的问题,它破坏了我的 join 并且我有重复,因为正确的结果必须是,每个不同的数字只有一行,任何建议如何做到这一点
正确结果:
编号 |SITE_WT |SITE_WT_DATA |SITE_NWT |SITE_NWT_DATA A |1234
|NULL |1234 |NULL
【问题讨论】:
-
为什么使用全连接而不是内连接?此外,如果所有表上都存在数字,则您的选择不明确,不应运行
-
@kalkov 请检查发布的答案是否有用或需要进行任何修改
-
我是 sql 新手,我的导师告诉我,我需要 FULL JOIN 而不是 INNER,当我的正常值不为 NULL 时它可以正常工作
-
@Kalkov 根据您的数据,我们可以为您提供指导,但在表级别,如何进行连接和获取数据取决于您,但我们的回答是获得准确的输出
-
@mohan111 谢谢!现在我将测试
标签: sql-server join null duplicates