SQL重复行结果

时间:2017-11-20 11:24:50

标签: sql sql-server

我有一个非常简单的选择查询,用于为一个软件创建输入文件。我有查询提取所有必填字段,但我需要使用硬编码ID号(1,2,3,4,5,6)复制结果六次。

我见过CROSS APPLY和PIVOT,但问题是我需要使用的列不存在,因为我是硬编码然后编号。

非常感谢任何帮助。

先谢谢

2 个答案:

答案 0 :(得分:1)

这里有一点纯粹的猜测,但你是说你的表中的每一行需要重复6次,ID为1-6吗?如果是这样,您可以使用值1-6的CTE和CROSS APPLY。

WITH Nums AS(
    SELECT *
    FROM (VALUES (1),(2),(3),(4),(5),(6)) V(N))
SELECT *
FROM YourTable YT
     CROSS APPLY Nums;

答案 1 :(得分:1)

也许是这样的:

select CJ.ID,T.* from dbo.Table T
        CROSS JOIN
        (select 1 ID UNION ALL select 2 ID UNION ALL select 3 ID UNION ALL select 4 ID UNION ALL select 5 ID UNION ALL select 6 ID) CJ