【发布时间】:2014-08-05 16:45:20
【问题描述】:
这是我的查询。
select * from jobs where status='BUILDING' and Type='SLA' UNION ALL
select top 1 * from jobs where Scheduled_Time = (select min(Scheduled_Time) from Jobs
where status='IDLE' and type='SLA')
我是 MSSQL 的新手,想知道如何让这个查询工作,以便如果第一个查询(在 UNION ALL 之前)不返回 null,那么第二个查询将不会运行?同样,仅当第一个查询返回 null 时,才应运行第二个查询。 (显然,UNION ALL 不是答案,因为这包括两个结果,我只是将其用作填充物,它将被删除)。
【问题讨论】:
-
您可以添加额外的检查以获取
AND (SELECT COUNT(*) FROM jobs where status='BUILDING' and Type='SLA') > 0
标签: sql sql-server