我正在研究SQL Server存储过程。我有一张桌子' User'有字段(身份证,姓名,电子邮件,地址)。
我有以下查询返回所有用户
select * from [User]
它返回所有用户,但我只想在返回之前将以下虚拟用户插入到结果记录中。
用户=> Id = 0,Name =" All"
此记录不会出现在数据库中,但在返回结果时,我想将此记录作为第一条记录插入,然后是剩余的用户。我试图找到这样的东西但是徒劳无功。
答案 0 :(得分:5)
SELECT 0 AS Id, 'All' AS Name
UNION ALL
SELECT Id, Name FROM Users;
答案 1 :(得分:0)
即使应用了UNION ALL
,您甚至可以用数字设置列来保持订单
SELECT 0 RNO, 0 AS Id, 'All' AS Name
UNION ALL
SELECT ROW_NUMBER() OVER(ORDER BY Id)RNO, Id, Name
FROM Users
即使Zero
列中存在Id
(可能是垃圾值),这也会有效