一尘不染

我可以选择多个但只能返回一个结果集吗

sql

如果我有多个选择,例如:

select * from A where A.name = 'link枚ping'

IF @@ROWCOUNT = 0
begin
    select * from A where A.amount = 45
end

…如果第一个选择返回内容,我得到1个结果集。但是,如果运行第二个,我将得到两个结果集。第一个没有行,第二个没有行。

如果运行第二个选择,是否有办法仅返回第二个结果集?

谢谢!


阅读 122

收藏
2021-05-23

共1个答案

一尘不染

您需要通过 运行选择 之前 检查是否会返回任何结果来阻止首次选择。

例如:

IF EXISTS (SELECT 1 FROM A WHERE A.name = 'link枚ping')
BEGIN
    SELECT * FROM A WHERE A.name = 'link枚ping'
END
ELSE 
BEGIN
    SELECT * FROM A WHERE A.amount = 45
END
2021-05-23