我有一个非常简单的选择查询,用于为一个软件创建输入文件。我有查询提取所有必填字段,但我需要使用硬编码ID号(1,2,3,4,5,6)复制结果六次。
我见过CROSS APPLY和PIVOT,但问题是我需要使用的列不存在,因为我是硬编码然后编号。
非常感谢任何帮助。
先谢谢
答案 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