查询 #1
SELECT
@IN_EMPCOUNT = COUNT (a.CH_EMPCODE)
FROM
BSC_REVIEW_EMP_MASTER a
INNER JOIN
dbo.cmn_authorization b ON (CASE b.vc_bu WHEN '%' THEN a.BUSSCD ELSE b.vc_bu END) = a.BUSSCD
WHERE
IN_REVIEW_NO = @in_review_no
AND b.ch_empcode = @ch_empcode
AND b.in_rolecode IN (136, 137, 138)
查询 #2
SELECT
@IN_EMPCOUNT1 = COUNT (a.CH_EMPCODE)
FROM
BSC_REVIEW_EMP_MASTER a
INNER JOIN
dbo.cmn_authorization b ON (CASE b.vc_bu WHEN '%' THEN a.BUSSCD ELSE b.vc_bu END) = a.BUSSCD
WHERE
IN_REVIEW_NO = @in_review_no
AND b.ch_empcode = @ch_empcode
AND b.in_rolecode IN (138, 139, 140)
查询 #3
SELECT
@IN_EMPCOUNT2 = COUNT (a.CH_EMPCODE)
FROM
BSC_REVIEW_EMP_MASTER a
INNER JOIN
dbo.cmn_authorization b ON (CASE b.vc_bu WHEN '%' THEN a.BUSSCD ELSE b.vc_bu END) = a.BUSSCD
WHERE
IN_REVIEW_NO = @in_review_no
AND b.ch_empcode = @ch_empcode
AND b.in_rolecode IN (141, 142, 145)
结果:
Select @in_empcount, @in_empcount1, @in_empcount2
这是我正在处理的示例查询。我可以做一些事情,比如不必为每个 where 子句重复相同的 select 语句,for (b.in_rolecode)
结果是一样的吗?