• 締切済み

SQL文に条件分岐処理のためのCASE式を埋め込み

VC++でSQL文に条件分岐処理のためのCASE式を埋め込みたいのですが、 詳しく書いてあるHPなどご存知の方、 教えてください。 よろしくお願いいたします。

みんなの回答

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

質問 分岐とはどのような事を考えていますか? VC++でSQLを実行する時はなにを使っていますか? ADOですか? ODBCですか? データベースには何をお使いですか? 状況が今一つ掴めませんので補足願います。

chika_chan
質問者

補足

yanmaaさん、ありがとうございます。 ODBC接続で、DB2使っています。 で、その、、、 できちゃったんですよ。 CASE a.xx WHEN 0 THEN b.xx ELSE ' ' END, と書けばいいみたいです。 その他に書き方ご存知ですか?

関連するQ&A

  • switchでの条件分岐の書き方を教えて下さい。

    こんにちは。 いつもお世話になっております。 またわからない事が出てきてしまったので、どうか ご指導よろしくお願いいたします。 簡単な検索機能をつくりたくて、思考錯誤 しております。 フォームからPOSTで受け取る変数の数は 10個あります。 それぞれの変数が ””でなければ、受け取った 変数を元に、SQL文がかわってゆく。 という事がしたいのです。 10個もあるので、たとえば 変数が$_POST["a"]から$_POST["j"]まであった時に if文を使うとすると if($_POST["a"] != "" && $_POST["b"] == "" && $_POST["c"] != "" (略)){ $stt = "検索したい予定のSQL文1"; }elseif($_POST["a"] == "" && $_POST["b"] != "" && $_POST["c"] != "" (略)){ $stt = "SQL文2"; ・ ・ ・ と言う風に、ものすごいにはなると思うのですがifを つなげていけば良いのかな、と思うのです。 PHPの基礎HPなどを検索してみると、SWITCHを 使えば、多岐に分岐するIF文を、見やすくできる、 と書いてあったので、使ってみたいのですが、書き方の 説明によると switch(変数){ case 値1:  条件を満たす時の処理1 break; case 値2:  条件を満たす時の処理2 default: } と紹介してあったのですが、今回わたしがしたい場合の 条件分岐だと、変数は一つではなく、ある変数は空でこの変数は値が何か入っていて、またもう一つの変数は 空で・・・の時は、このSQL文、というように させたい場合には、switchでどうかけばよいのか わからないのです。 それとも、こういう条件分岐の場合は、switchを 使うべきではないのでしょうか・・・? どうかご指導よろしくお願いいたします。  

    • ベストアンサー
    • PHP
  • 条件分岐(フロー制御関数)でUPDATEを使えないみたいだけど、これに代わる処理ありませんか?

    今CGIゲームを作っています。 たとえば SELECT CASE 0 WHEN 1 THEN "one" ELSE (SELECT文) END とすれば、うまくSELECT文が実行されますが、 SELECT CASE 0 WHEN 1 THEN "one" ELSE (UPDATE文) END をするとシンタックスエラーがでます。 どうもフロー制御関数の中でUPDATE文が使えない雰囲気です。 そこで、SQL文内だけで「条件分岐でUPDATE文」、というのは無理なのでしょうか? そもそもなぜSQL文だけで完結させようかというと、それは次のような心配があるからです。 SELECT文で一度結果をPHPなどに渡して、そこで条件分岐をやって再度UPDATE文を発行する方法もあるが、そのやりとりしている間に、もしデータベースの内容が変更されると仕様的マズいのです。 もしこのような心配が必要ないのならPHPに渡してPHPで条件分岐するという手を使いたいと思っています。 技術者の方、お助けください。

    • ベストアンサー
    • MySQL
  • 条件分岐(if)について

    条件分岐(if)についてお聞きしたことがあります。 例えば if($a == 'A' || $a == 'B'){ 処理 }else if($a == 'C' || $a == 'D' || $a == 'E'){ 処理 }............... といった条件分岐があったとて、お聞きしたいことが2点あります。 ・条件分岐この後も数十個続いたとします。その場合もelse ifで一つ一つ 条件を書かなければならないのでしょうか? ・条件式if($a == 'A' || $a == 'B'....)が長くなる場合プログラムが見にくくなるので 別途に条件式を書いておいてif文の所では($a == ◯)といったように簡潔に書くことは できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • “SQL文を作るSQL”の書き方ってありますか?

    “SQL文を作るSQL”の書き方ってあるのでしょうか? 例えばなのですが、表同士を大量に結合して条件に当てはまったものをアップデートするようなSQLを書く場合、文法を間違うとエライこちゃ!になる場合がありますよね。 そういう場合って結合するんじゃなくて結合したSELECT文を使って条件だしをして1件1件単純アップデートをした方が安心ですよね。 (定期処理であれば効率が悪いですが・・・だったらプロシージャですか・・・というところになりますがごくたまにや1回きりのデータ変更など) そういったことをやるほうほうはありますでしょうか? 仕様はSQL99です。

  • SQL CASE 文について

    開発環境 SQLSERVER VB2005 SQLのCASE文についての質問ですが、DATE型のデータが有効値の場合は”スペース”それ以外の場合は格納されているDATE型を表示したいのですが、どなたかご教授お願いいたします。下記のSQLでは全ての日付が出てしまいます。 SELECT CASE 日付 WHEN '2000/01/01' THEN ' '     ELSE 日付          END AS Expr1 FROM  テーブル CASE文以外でもできますか? よろしくお願いいたします。

  • oracle8.1iでSQL文処理時間について

    Oracle8.1iでの質問です。 クライアントからサーバへなんらかのSQL文を 投げた場合、サーバで処理をし、クライアントに 結果を返すと思いますが。 サーバ側でのSQL文の処理開始時刻と処理終了時刻を知りたいのですが、どのような システムテーブルを見ればよいのかご存知の方 教えてください。SQL文まで、分かれば助かります。

  • 条件分岐について

    Javaの条件分岐のことで質問させていただきます。 入力された値によって、適切なHTMLタグを表示するプログラムを作っています。 「画像の表示」「画像の幅」「画像の高さ」と項目をわけてそれぞれにJTextFieldを設置し、画像の名前や高さなどを入力。画像の高さと幅についてはJCheckBoxを1つ設置し高さと幅を指定する場合はチェックし、指定しない場合はチェックを外す。という方法を考えています。 現在はif文で「画像の表示」に画像ファイル名(拡張子まで)を入力、「画像の高さ」「画像の幅」に高さと幅を数字で入力、 チェックボックスにチェックを入れ、ボタンを押したらJTextAreaに「<img src="画像ファイル名" Width="幅" Height="高さ">」と表示することはできています。 しかし画像の名前のみ入力して、高さと幅を指定しない(チェックボックスのチェックを外す)など、別の処理を行うif文を上記のif文の後に書いても実行することができません。 switch文で処理を分岐させることも考えていますが、式を上手くかけず悩んでいます。 if文などで上手く処理を分岐させるにはどうすればいいでしょうか?

  • SQL文を出力する事ってできないですか?

    AccessVBAでクエリのSQL文を出力する事ってできないですか? 例えば、 クエリ1があったとして、 そのSQL文をDebug.Printで書きだしたいのですが 可能でしょうか? ADOXあたりを使えば可能でしょうか? ナビゲーションウインドウで右クリックして デザインビューで開き、SQLビューを見ればSQL文が見れますが たくさんのSQL文を取得して、 それを条件分岐したいのでVBAで書きだしたいのです。 よろしくお願いします。

  • SQL Server2000でcase文がサポートされてない?

    お世話になります。 客先より、SQL Server2000のEnterprise ManagerでCASEを含むSQLを実行したら 「case SQL構成はサポートされていません」とエラーが出たと連絡が入りました。 自分のマシンに入っている同ツールで実行すると、エラーは出ません。 客先と自分のマシンのSQL Server2000の違いは、バージョンなのですが、 古いバージョンだとcase文がサポートされていないということはあるのでしょうか? 自分のマシンは最新バージョンが入っています。 SQL文の内容的に、case文が必要なので、代替案も思いつかず、困っています。 よろしくお願いいたします。

  • PHPのforeachでSQL文を処理しても良い?

    PHPのforeachでSQL文を処理しても良いか教えてください。 ・foreachループの中でSQLを書いているのですが、なるべくしない方がよいのでしょうか? (一般的な書き方ではない?) ・MySQLで代替する書き方はあるでしょうか? ・もし代替する書き方がなくてforeach文を使う場合、SQL文が長くてもクエリ数が少ない書き方の方がよいのでしょうか?

    • ベストアンサー
    • MySQL

専門家に質問してみよう