みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

T-SQLとACCESSクエリのSELECT分内のif文の利用について

お世話になります。

ACCESSクエリからSQLServer2005のストアドに移行を検討中です。

ACCESSクエリではINSERT INTO時のSELECT内にIIF文による条件分岐が使えたのですが、T-SQLでは、INSERT INTO時のSELECT内にIF文やswitch文は使えないのでしょうか?その場合、どのようにすれば宜しいでしょうか?

例> ACCESSクエリでは以下のようにかけると思うのですが・・・

INSERT INTO Table1 (Pコード,単価)
SELECT Table2.Pコード,IIf(Table2.Check定価=1,Table2.定価A*Table3.値引率,Table2.定価B*Table3.値引率)
FROM Table2 RIGHT JOIN Table3 ON Table2.Pコード = Table3.Pコード;


宜しくお願いします。

投稿日時 - 2008-06-10 21:18:41

QNo.4090600

すぐに回答ほしいです

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

case句が使えると思います。
INSERT INTO Table1 (Pコード,単価)
SELECT Table2.Pコード,
case when Table2.Check定価=1 then Table2.定価A*Table3.値引率 else Table2.定価B*Table3.値引率 end
FROM Table2 RIGHT JOIN Table3 ON Table2.Pコード = Table3.Pコード;

投稿日時 - 2008-06-11 01:53:25

お礼

ご回答ありがとうございます!!

今回のような文法、ルールの違い?などが分かりやすく載っているWebページとかご存知ですか?ヘルプをみても、いまいちうまく引っかからないので。

もし、ご存知でしたらご教示くださいませ。

宜しくお願いします。

投稿日時 - 2008-06-11 13:56:12

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問