Sql server 如何快速选择一组select语句的第一行

Sql server 如何快速选择一组select语句的第一行,sql-server,union,Sql Server,Union,我有一堆SQL语句。它们是按特殊顺序排列的,因此如果第一条语句返回一行,我就完成了,如果没有返回,则转到下一条语句并返回结果。做这件事的快速方法是什么?我试图在T-SQL中实现它,因为我在MSSQL服务器上,但速度非常慢 尽快完成这项工作非常重要。如果您只需要第一行使用 试试这样的 Select column1 from myTable if @@ROWCOUNT <> 0 return Select column1 from myOtherTable if @@ROWCOUNT

我有一堆SQL语句。它们是按特殊顺序排列的,因此如果第一条语句返回一行,我就完成了,如果没有返回,则转到下一条语句并返回结果。做这件事的快速方法是什么?我试图在T-SQL中实现它,因为我在MSSQL服务器上,但速度非常慢


尽快完成这项工作非常重要。

如果您只需要第一行使用


试试这样的

Select column1 from myTable
if @@ROWCOUNT <> 0 return

Select column1 from myOtherTable
if @@ROWCOUNT <> 0 return

... and so on
从myTable中选择column1
如果@@ROWCOUNT 0返回
从myOtherTable中选择column1
如果@@ROWCOUNT 0返回
... 等等

“尽快完成这项工作非常重要。”我认为您应该发布一个示例(您尝试过的内容以及它如何不起作用)、模式、演示数据、所需输出等。如果您对此感到担心,请提供查询、条带名称,但如果没有它,性能影响很难确定。感谢您的提示,但只要一条SQL语句返回一行,我就完成了!通过适当的逻辑检查@@rowcount来决定是否移动到下一个查询,等等。这正是我正在使用的解决方案,但速度太慢。在这种情况下,您可能必须单独查看查询-看看是否可以优化它们,或者更好地选择索引等。是否可以发布SQL?有关如何更好地隔离此问题的一些非sql建议,请参阅。祝你好运
Select column1 from myTable
if @@ROWCOUNT <> 0 return

Select column1 from myOtherTable
if @@ROWCOUNT <> 0 return

... and so on