2017-09-16 11 views
1

メンバテーブルに 'm'または 'f'の値を持つ 'gender'フィールドがあります。私は 'M' 及び 'F' の両方がフィールドとPRINTに存在する場合、 'FAIL' 'PASS' を印刷する場合:IF結果がIN( 'm'、 'f')の場合THEN PRINT(tsql)

  1. 2つのだけの値のいずれか(MまたはF)が存在

または2. mまたはf以外の値が存在する

または3. nullレコードが存在する。

次のコードを実行すると、「Subquery returned than 1 value」というメッセージが表示されます。

IF ((SELECT DISTINCT Gender FROM dbo.Member) in ('M','F')) 
PRINT 'PASS' 
ELSE 
PRINT 'FAIL'` 

ありがとうございます!

答えて

2
IF EXISTS (SELECT * FROM (
     SELECT sum(case when gender= 'M' then 1 else 0 end) M, 
       sum(case when gender= 'F' then 1 else 0 end) F, 
       sum(case when gender not in('F', 'M') then 1 else 0 end) Other 
     FROM dbo.Member) a 
     WHERE a.M>0 and a.F>0 and a.Other=0)  
PRINT 'PASS' 
ELSE 
PRINT 'FAIL' 
+0

ブリリアント!ありがとう!!!!!! – inincubus

関連する問題