gpt4 book ai didi

sql - 如何在没有表的情况下在 SELECT 语句中返回 N 条记录

转载 作者:行者123 更新时间:2023-12-03 03:22:53 25 4
gpt4 key购买 nike

我正在创建一个 NACHA 文件,如果文件中的记录数不是 10 的倍数,我们需要插入足够的用 9 填充的“虚拟”记录 (replicate('9',94) ) 击中下一个十位。

我知道我可以编写一个循环,或者用 10 个全是 9 的记录填充临时表,然后选择前 N 个。但这些选项感觉很笨拙。

我试图想出一个可以为我做到这一点的单一选择语句。有什么想法吗?

select nacha_rows
from NACHA_TABLE
union all
select replicate('9',94) --do this 0 to 9 times

最佳答案

公式 (10-COUNT(*)%10)%10 告诉您要添加多少行,因此您可以从现有虚拟表中选择那么多虚拟行。

SELECT nacha_rows
FROM NACHA_TABLE
UNION ALL
SELECT TOP (SELECT (10-COUNT(*)%10)%10 FROM NACHA_TABLE) REPLICATE('9',94)
FROM master.dbo.spt_values

关于sql - 如何在没有表的情况下在 SELECT 语句中返回 N 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24389372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com