【发布时间】:2009-07-07 09:05:59
【问题描述】:
我有一个选择查询。如果没有返回任何行,我想用另一个选择替换那个选择查询。
比如说我有:
Select * from Temp2
if (@@rowcount=0)
select * from Temp1
在 c# 结束时,我将其作为数据集检索。因此,如果没有返回任何行,它将执行另一个选择。但是这个选择会在 Tables[1] 而不是 Tables[0] 中。
所以本质上,如果@@rowcount = 0,我想要做的是用最后一个选择结果替换sql存储过程中的第一个选择结果。 我确信这是可以做到的。我想要一个整洁的解决方案。
我可以这样做:
if ((select count(ID) from Temp2) =0)
select * from Temp1
else
select * from Temp2
但我有 3 个选择。我想用最多 2 个选择来做,因为我的选择语句比给出的简单示例更复杂,我不喜欢重复相同的选择两次(例如在 Temp2 上选择)。
谢谢
【问题讨论】:
标签: c# asp.net sql sql-server-2005