クエリ #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)
、結果が同じになるようなことはできますか?