如何重复每一行两次

时间:2014-11-03 15:18:37

标签: sql sql-server sql-server-2008-r2 sql-server-2012

我需要报告,我希望我的sql查询重复每一行两次。

示例:

  **Table 1**
   Id   Name
   1     Ab
   2     Cd
   3     Ef

我想编写一个输出以下内容的查询:

  1   Ab
  1   Ab
  2   Cd
  2   Cd
  3   Ef
  3   Ef

我有办法吗?

除了使用union

之外,我什么都想不到
Select Id, name from Table1 union select Id, name from Table1

1 个答案:

答案 0 :(得分:12)

您可以使用union allunion不起作用,因为它会消除重复。另一种方式是cross join

select id, name
from table1 t1 cross join
     (select 1 as n union all select 2) n;