あなたはこれを仕事にCASE
文を使用して、単純な加算を使用することができます。
ルール:
- 8パス:合計は常に= 8
- 7を通過し、1つのボーダーライン: :常に= 9
- 任意の他の組み合わせは=
サンプルコードを失敗
-- dummy table
CREATE TABLE #temp
(
c1 INT , c2 INT , c3 INT , c4 INT ,
c5 INT , c6 INT , c7 INT , c8 INT
)
-- dummy data
INSERT INTO #temp
(c1 , c2 , c3 , c4 ,
c5 , c6 , c7 , c8
)
SELECT 1,1,1,1,1,1,1,1
UNION ALL
SELECT 1,1,1,1,1,1,2,1
UNION ALL
SELECT 1,2,3,1,1,1,1,2
-- query to calculate totals and pass/fail
SELECT *,
CASE t.Total WHEN 8 THEN 'Pass'
WHEN 9 THEN 'Border Line'
ELSE 'Fail' END Overall
FROM (SELECT * ,
c1 + c2 + c3 + c4 + c5 + c6
+ c7 + c8 Total
FROM #temp
) t
-- clean up
DROP TABLE #temp
生産数:
c1 c2 c3 c4 c5 c6 c7 c8 Total Overall
1 1 1 1 1 1 1 1 8 Pass
1 1 1 1 1 1 2 1 9 Border Line
1 2 3 1 1 1 1 2 12 Fail
何か試しましたか? – Arti