gpt4 book ai didi

sql - 在 sql server 中使用虚拟数据在查询结果集中添加额外的行

转载 作者:行者123 更新时间:2023-12-04 23:45:34 24 4
gpt4 key购买 nike

我有这张表让我们说学生。如果表中有 2 个学生并且结果集给出了 2 行,那么我想再添加 5 行,其中包含虚拟数据,无论它说什么,即“Dummy Record”或其他内容。

SELECT FirstName, (SELECT COUNT(*) FROM Student) Total
FROM Student

如果上面查询的输出是这样的。

FirstName         Total
Isaac Frempong 2
Erick Ortiz 2

我希望输出是这样的

FirstName         Total
Isaac Frempong 2
Erick Ortiz 2
Dummy Data 2
Dummy Data 2
Dummy Data 2
Dummy Data 2
Dummy Data 2

我希望这是可以实现的,我不知道如何在这里应用 CASE 或 IF 语句。也许有人可以提供帮助。

最佳答案

一种方法是使用 VALUES() 语句来构造行:

SELECT FirstName, COUNT(*) OVER () as Total
FROM Student
UNION ALL
SELECT 'Dummy', (SELECT COUNT(*) FROM Student)
FROM (VALUES (1), (2), (3), (4), (5)) v(n);

编辑:

如果你总是想要 7 行,使用算术:

SELECT FirstName, COUNT(*) OVER () as Total
FROM Student
UNION ALL
SELECT 'Dummy', s.total
FROM (VALUES (1), (2), (3), (4), (5), (6), (7)) v(n) CROSS JOIN
(SELECT COUNT(*) as total FROM Student) s
WHERE v.n <= 7 - s.total;

s

关于sql - 在 sql server 中使用虚拟数据在查询结果集中添加额外的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55377955/

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