在SQL选择查询中插入虚拟行

在SQL选择查询中插入虚拟行,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我正在处理SQL Server存储过程。我有一个表“User”,其中包含字段(Id、名称、电子邮件、地址) 我有以下返回所有用户的查询 select * from [User] 它返回所有用户,但我只想在返回之前将下面的虚拟用户插入到结果记录中 User=>Id=0,Name=“全部” 此记录不会出现在数据库中,但在返回结果时,我希望将此记录作为第一条记录插入,然后作为剩余用户插入。我试图找到类似的内容,但没有成功。即使应用了UNION ALL,您甚至可以通过数字设置列来保持顺序 SELECT

我正在处理SQL Server存储过程。我有一个表“User”,其中包含字段(Id、名称、电子邮件、地址)

我有以下返回所有用户的查询

select * from [User]
它返回所有用户,但我只想在返回之前将下面的虚拟用户插入到结果记录中

User=>Id=0,Name=“全部”


此记录不会出现在数据库中,但在返回结果时,我希望将此记录作为第一条记录插入,然后作为剩余用户插入。我试图找到类似的内容,但没有成功。

即使应用了
UNION ALL
,您甚至可以通过数字设置列来保持顺序

SELECT 0 AS Id, 'All' AS Name
UNION ALL
SELECT Id, Name FROM Users;
SELECT 0 RNO, 0 AS Id, 'All' AS Name
UNION ALL
SELECT ROW_NUMBER() OVER(ORDER BY  Id)RNO, Id, Name 
FROM Users

即使列
Id
中存在
0
(可能是垃圾值)

使用“从onerowtable中选择0,'全部'进行联合”,这也会起作用。谢谢rob。很好,不用担心,很高兴能帮上忙。谢谢。对于像我这样的新手来说,语法相当复杂。您可以随时使用。最好的祝愿:)@Bilal AhmedThanks再次感谢您的时间和帮助。