【发布时间】:2019-07-03 10:13:19
【问题描述】:
我有一个具有以下条件的 SQL 查询执行块。
在第一个查询中,我们附加 where 条件,如下所示。
Declare @maxprice int
Declare @minprice int
查询 1
Select * FROM Mobiles where value between @maxprice and @minprice and column2= @otherparam
如果在上述查询中没有找到记录,那么我想在查询 2 中进行一些修改来执行查询。
查询 2
Select * FROM Mobiles where value between @maxprice - 1000 and @minprice - 1000 and column2= @otherparam
根据上述条件,如果在特定日期范围内找不到移动设备,那么我想将最大和最小金额降低 1000 RS。
即@maxprice = 10000 & @minprice = 8000 如果没有找到上述记录,那么我想修改参数并再次执行查询,
SET @maxprice = 9000
SET @minprice = 7000
目前我正在执行 Query 1,如果找到 0 条记录,那么我正在执行 Query2
请建议我如何以最少的执行来实现这一目标。
【问题讨论】:
标签: sql sql-server tsql union where-clause