join生成2行而不是1行

时间:2012-10-03 15:52:27

标签: sql-server

我有两个表具有完全相同的字段,我想基于我添加到它们的虚拟字段加入它们,这两个字段都称为join2 = 1.

但是,当我使用下面的语法时,它会将它全部放在一行上,我希望它们基于名称字段在单独的行上显示

我使用的语法是:

select a.NAME, a.COUNT1, a.MIN1,a.MAX1,a.SUM1,a.AVG1,
b.NAME, b.COUNT1, b.MIN1,b.MAX1,b.SUM1,b.AVG1
from #AMT_PAYMENTS a 
INNER join #cur_bal b on (a.join2 = b.join2)

所以表格看起来像

name count1 min1 max1 sum1 avg1 name count1 min1 max1 sum1 avg1 

而不仅仅是

name count1 min1 max1 sum1 avg1

名称垂直列出

2 个答案:

答案 0 :(得分:1)

您想使用UNION语句:

select a.NAME, a.COUNT1, a.MIN1,a.MAX1,a.SUM1,a.AVG1
FROM #AMT_PAYMENTS a
UNION
select b.NAME, b.COUNT1, b.MIN1,b.MAX1,b.SUM1,b.AVG1
FROM #cur_bal b

答案 1 :(得分:0)

试试这个:

select a.NAME, a.COUNT1, a.MIN1,a.MAX1,a.SUM1,a.AVG1
from #AMT_PAYMENTS a
union all
select b.NAME, b.COUNT1, b.MIN1,b.MAX1,b.SUM1,b.AVG1
from #cur_bal b