当前位置: 代码迷 >> Sql Server >> 两张表的数据变成一行
  详细解决方案

两张表的数据变成一行

热度:89   发布时间:2016-04-24 18:39:24.0
两张表的数据变为一行
表1
列1    列2     列3
100    50      30 

表2
列1    列2    列3
5       6       10


我现在使用这个SQL语句

SELECT 列1,列2,列3,0 AS 表2列1,0 AS 表2列2,0 AS 表2列3 FROM 表1
UNION
SELECT 0 AS 表1列1,0 AS 表1列2,0 AS 表1列3,列1,列2,列3 FROM 表2


得到结果
100      50      30      0      0      0
0          0        0        5      6      10

这个不是我想要的结果,我要想这样的结果
100      50      30      5      6      10

请问这个SQL应该怎样写
------解决方案--------------------
SELECT MAX(列1),MAX(列2),MAX(列3),MAX(表2列1)表2列1,MAX(表2列2),MAX(表2列3)
FROM (
SELECT 列1,列2,列3,0 AS 表2列1,0 AS 表2列2,0 AS 表2列3 FROM 表1
UNION
SELECT 0 AS 表1列1,0 AS 表1列2,0 AS 表1列3,列1,列2,列3 FROM 表2)a
  相关解决方案