2016-06-22 12 views
0

値が1つの行を取得するにはどうすればよいですか?NULL値は表示しません。私は、このクエリからTempテーブルを作成し、TempテーブルでMAXを選択することができますが、このクエリ内で実行する方法があるかどうか疑問に思っていました。値のある単一行

Select VisitIDCode 
,CASE WHEN (LeftJustifiedLabel) = 'Additional Intervention Information' Then (ValueText) Else Null End As 'Additional Intervention Information' 
,CASE WHEN (LeftJustifiedLabel) = 'American Cancer Society Comment:' Then (ValueText) Else Null End As 'American Cancer Society Comment:' 
,CASE WHEN (LeftJustifiedLabel) = 'Intevention' Then (ValueText) Else Null End As 'Intevention' 
From #AssessmentFS 
WHERE VisitIDCode = 123 

これは私が上記の質問から得た現在の最終結果です。

VisitIDCode Additional Intervention Information 
123   Faxed referral to 877-428-2862 
123   NULL 
123   NULL  

答えて

1

あなたは同じクエリで(maxまたはminなどを使用)集約することができます。

select 
VisitIDCode 
,MAX(CASE WHEN LeftJustifiedLabel = 'Additional Intervention Information' Then ValueText End) As 'Additional Intervention Information' 
,MAX(CASE WHEN LeftJustifiedLabel = 'American Cancer Society Comment:' Then ValueText End) As 'American Cancer Society Comment:' 
,MAX(CASE WHEN LeftJustifiedLabel = 'Intevention' Then ValueText End) As 'Intevention' 
From #AssessmentFS 
group by VisitIDCode 
+0

ありがとうございました。私はその方向に進むつもりでしたが、次に自分自身が推測しました。 – user3666224

+0

@ user3666224 [役に立つと思ったらこの回答を受け入れてください](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work):-) –

関連する問題