以下查询仅产生“ Operation is Success”,而我的目标是运行在IF TRUE条件下列出的“ Select”语句:
DECLARE @TOTAL int
Select @TOTAL = count(barcode)
from domain_Media
where ( (librarySlotNumber > -1)
AND (UPPER(volumePoolName) LIKE UPPER('scratch%'))
AND (id LIKE '05%' or id LIKE 'DX%')
AND (masterServerId = 17785613) )
IF (@TOTAL > 5)
BEGIN
select *
from domain_Media
where (masterServerId = 17785613)
END
我要去哪里错了?
答案 0 :(得分:1)
为什么不只使用一个查询?
select *
from domain_Media
where masterServerId = 17785613 and
(select count(barcode)
from domain_Media
where librarySlotNumber > -1 and
upper(volumePoolName) like upper('scratch%') and
(id like '05%' or id like 'DX%') and
masterServerId = 17785613
) > 5;
答案 1 :(得分:0)
为什么不根据第一个结果来限制第二个查询?
DECLARE @TOTAL int
Select @TOTAL = count(barcode)
from domain_Media
where ( (librarySlotNumber > -1)
AND (UPPER(volumePoolName) LIKE UPPER('scratch%'))
AND (id LIKE '05%' or id LIKE 'DX%')
AND (masterServerId = 17785613) )
select * from domain_Media where (masterServerId = 17785613) AND @TOTAL > 5
IT可在SQL Server中工作