Sql server 当使用完全联接且单元格中有空值时,如何删除重复项
这是我的基本表格: 编号|站点|站点|数据|站点| NWT |站点| NWT |数据ASql server 当使用完全联接且单元格中有空值时,如何删除重复项,sql-server,join,null,duplicates,Sql Server,Join,Null,Duplicates,这是我的基本表格: 编号|站点|站点|数据|站点| NWT |站点| NWT |数据A |1 |空| 1 |空 这是我的选择和完全连接: 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
|1 |空| 1 |空 这是我的选择和完全连接:
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
结果是:
编号|站点|站点|数据|站点| NWT |站点| NWT |数据A | 1234|空|空|空A |空|空| 1234
|空的 我遇到了Null的问题,它破坏了我的连接,并且我有重复项,因为正确的结果必须是,每一个不同的数字只有一行,有什么建议吗 正确结果: 编号|站点|站点|数据|站点| NWT |站点| NWT |数据A | 1234
|空| 1234 |空 使用MAX()
为什么使用完全连接而不是内部连接??此外,若所有表上都存在数字,则您的选择不明确,不应run@kalkov请检查张贴的答案是否有用或是否需要进行任何修改我是sql新手,我的导师告诉我,我需要完全连接,而不是内部连接,当我有正常值时,它工作正常NULL@Kalkov基于您的数据,我们可以指导您,但在表级别,如何进行连接和获取数据取决于您,但我们的答案是获取准确的数据output@mohan111非常感谢。现在我来测试一下
SELECT Number,MAX(T1.site) SITE_WT,MAX(T2.site)SITE_WT_DATA,MAX(T3.site)SITE_NWT ,MAX(T4.site) SITE_NWT_DATA
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
GROUP BY Number