2016-11-02 4 views
-2

私の間違いはどこですか?選択したネストされたケース

select dr.ders_code, dr.year, 
case when dr.muf_sq is not null then 
case when (select muf_sq_id from mufredat_sq m join ders_stud_ref dr on dr.muf_sq = m.muf_sq_id) = dr.muf_sq then dr.muf_sq end 
end 
from ders_stud_ref dr 
+1

問題/エラーがある?のようなものが必要だと思いますか – Aleksej

+0

2番目のネストされたケースで@Aleksej:選択ケース((mufredat_sqからmuf_sq_idを選択します。mはders_stud_refをdr.muf_sq = m.muf_sq_idにジョインします)= dr.muf_sq)、dr.muf_sq end。私はそれを実行することはできません – jaraisyn

+0

あなたにエラーがありますか?もしそうなら、どんなエラー?または予期しない結果が出ていますか?もしそうなら、あなたは何を期待しましたか?また、コメントを追加する代わりに質問を編集して明確にしてください – Aleksej

答えて

1

最初の間違いは

select muf_sq_id 
       from mufredat_sq m 
       join ders_stud_ref dr on dr.muf_sq = m.muf_sq_id 

である以上、その後1行

を返すことが、私はあなたが

select dr.ders_code, dr.year, 
case when dr.muf_sq is not null then 
case when exists (select muf_sq_id 
      from mufredat_sq m 
      where dr.muf_sq = m.muf_sq_id) then dr.muf_sq end 
end 
from ders_stud_ref dr 
関連する問題