• ベストアンサー
  • すぐに回答を!

ストアド CASE文

  • 質問No.4372454
  • 閲覧数1450
  • ありがとう数0
  • 回答数1

お礼率 36% (20/55)

ストアドを作成しているのですが現在ある条件によりJOINを行うテーブルを変更したのですがやり方がわからなくて困っています。
申し訳ございませんが教えて頂きたいです。
下記のようにソースを書いておりますがコンパイルエラーとなります。
SELECT ・・FROM
[TableA]
CASE WHEN [xxxx].item_kb = 1 THEN
LEFT JOIN [TableB] ON・・・・・
CASE WHEN [xxxx].item_kb = 2 THEN
LEFT JOIN [TableC] ON・・・・・

結合条件にCASE文は使用できないのでしょうか?

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 69% (711/1018)

>結合条件にCASE文は使用できないのでしょうか?

できません。
そう言う仕様です。

条件で使用するテーブルを変えるなら
動的SQLを使います。
(やり方はRDBMSの種類によって異なります)

でも、条件分岐数やSQLが、それほど冗長でない
のなら、単純にIF文の中で変えてしまえばよい
のでは?

今後ははORACLEやSQL Serverなど、お使いの
RDBMSのカテに質問した方が回答が付きやすい
と思います。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ