T-SQL合并数据

时间:2015-05-07 14:03:57

标签: sql-server tsql merge

我已使用SSIS到SQL Server从XML文件导入数据。 我在数据库中得到的结果与此类似:

+-------+---------+---------+-------+
|  ID   |  Name   |  Brand  | Price |
+-------+---------+---------+-------+
| 2     | NULL    | NULL    | 100   |
| NULL  | SLX     | NULL    | NULL  |
| NULL  | NULL    | Blah    | NULL  |
| NULL  | NULL    | NULL    | 100   |
+-------+---------+---------+-------+

我想要的结果是:

+-------+---------+---------+-------+
|  ID   |  Name   |  Brand  | Price |
+-------+---------+---------+-------+
| 2     | SLX     | Blah    | 100   |
+-------+---------+---------+-------+

在T-SQL中有解决这个问题的漂亮解决方案吗? 我已经尝试使用SELECT MAX(ID)然后使用GROUP BY ID,但我仍然坚持使用NULL值。我也用MERGE尝试过,但也失败了。 有人可以给我一个指示进一步搜索的方向吗?

1 个答案:

答案 0 :(得分:2)

您可以在所有列上选择MAX ....

SELECT MAX(ID), MAX(NAME), MAX(BRAND), MAX(PRICE)
FROM [TABLE]

<强> Click here for a fiddley fidd fiddle...