• ベストアンサー

SQLの作成方法

k_o_r_o_c_h_a_nの回答

回答No.2

問合せしたいテーブルを、別のテーブルの登録内容に従って、 読み替えつつ表示する、と考えれば良いのかと思いますが、 "1以外"という条件をテーブルに、どのように登録するかが 難しいように思います。 (取り決めの問題と言えばそれまでですけどね) 例えば、"1以外"を、nullをキーとして登録したとすると・・ 条件TBL 列1 列2 1 1 (null) 2 テーブル1 列A 1 2 3 4 select nvl(列2,列X) from テーブル1, 条件TBL, (select 列2 列X from 条件TBL where 列1 is null) where 列A=列1(+) ; のような外部結合を使った問合せが可能です。

関連するQ&A

  • SQLの抽出方法を可能か教えてください

    初めましてm(__)m SQLを最近始めたばかりの為、次のような場合の抽出条件がわかりません。 どなたかご存知の方がいましたら、回答をよろしくお願いいたします。 次のようなDBがあったとします。 項目1  項目2  項目3 001   aaa   003 002   bbb   005 003   ccc   004 004   ddd   005 このDBに対し、検索条件を項目1=004とした場合に、次のように抽出したいのですが、どうすればよろしいですか? 001   aaa   003 003   ccc   004 004   ddd   005 ※項目1の値が項目3と一致したらそのデータも抽出し、更にそのデータの項目1の値が項目3と一致したらそのデータも抽出するみたいにしたいと考えているのですが可能でしょうか? 以上です。 分かる人がいましたら、よろしくお願いします。

  • SQLで取得したフィールドをSQL文として利用

    お世話になっております。 MYSQLで sql_id (int PK) sql_data (text) のようなテーブル(sql_db)を持ち select sql_id from where (sql_data をsqlとして実行した結果 ) > 200 のように、フィールドから取得した値をSQLとして実行したりする方法はございますでしょうか。 ご教授よろしくお願いいたします。

  • SQLの結果で“文”を作成する方法について???

    SQL文で「シングルクォーテーション」や特殊文字?を利用した文字列を作成方法がわかりません。。どなたか詳しい方ご教示いただけませんでしょうか? SQLで問い合わせ結果を文字列が含んだ形式で出したいと思っています。 <例> select 'これは、''||T.T1||''の''||T.T2||''の結果です。期間は、''||T.T3||''までです。' from T where ・ ・ ・ <例> このような感じで作っています。 テーブル名:T T1:文字列型 T2:文字列型 T3:日付型(yyyy/MM/dd) です。 T1とT2のみの文字列でしたら問題は無いのですが、T3の日付型を含んでしまうと何故かうまくデータが抽出できません。 何かいけない点があるのでしょうか? 特殊文字についてもよくわかっていないのもいけないのですが・・・ よろしくお願いいたします。

  • エクセルVBAでのSQLについて

    エクセルVBAで、SQLを記述しているのですがwhereの抽出条件にセルの値を指定したいと思っています。その当該セルの値を変更することで、抽出条件を変更することができるようにしたいです。 しかし、どのような記述にすればよいか分かりません。以下のような記述をしたのですが、うまくいきません。すみませんが、教えていただけないでしょうか。よろしくお願い申し上げます。 ◆抽出条件を指定するセル:A1 セルA1には、数字(例:1000、2000等)をいれます。 mySQL = " SELECT * FROM [◆◆シート!] WHERE Range("A1")"

  • 絞込みする時のSQLの書き方

    お世話になります。 絞込みする時のSQLの書き方について教えてください。 具体的には テーブル名tbl01,フィールド名f01,f02とした場合 1.f01もしくはf02にAという文字を含むレコードを抽出。 SQL = "select * from tbl01 where f01 like '%A%' or f02 like '%A%'" 2.続いて、1で抽出したデータからf01もしくはf02にBという文字を含むレコードを抽出するSQL文 SQL = ????? あくまでも、1と2を満たす条件を1つのSQL文で表す方法です。一旦、1の結果をワークテーブルに落とし、そこから2だけのSQL文を実行するわけではありません。

  • SQLで<>を使用するとき、

    SQLで<>を使用するとき、 Where ブランドコード <> '01'という感じで'01'以外のレコードを抽出するときに 複数の否定条件を指定するにはどうしたらいいのでしょうか? 初歩的な質問ですみません。 Where ブランドコード <> '01' And  ブランドコード <> '05'を一文で書きたい時の方法です。 よろしくお願いします。

  • SQLについて

    SQLについてですが、例えば下記のような表があり、 表. no name etc 0001 aaaa 1 0002 bbbb 1 0003 cccc 2 0004 dddd 1 この表から、「etc = '1'」の列を抽出すると、3件が返ってきますが、 その返ってきたデータの一番最後のデータのみを抽出したい場合はどのようにすればよいのでしょうか? (no = 0004 and etc = 1以外の方法でお願いします。。)

  • SQLの作り方についてご教授下さい。

    SQLの作り方についてご教授下さい。 以下のようなDB及び条件があるとします。 ・DB ----------------------  No   フラグ   金額   1    1     100   2    0     200   3    0     700   3    1     500   3    1     400 ---------------------- ・抽出条件  フラグが1である物のみ抽出対象とします。  同一Noについては、1件しか出力しません。その1件の決め方は  フラグが1である事が前提で、金額が大きい物を取得します。 上記の抽出したい結果 ------------------  No   フラグ   金額   1    1     100   3    1     500 ------------------ これを取得するSQLの作成方法が分かりません。 どのように作成すれば良いでしょうか?

  • SQL文で

    SQL2000serverで 異なる2つのデーターベースの中にある 別のテーブルの情報を SQL文を使って、抽出する事は出来るのでしょうか? たとえば下記のように「DB-A」「DB-B」と言った 二つのDBの中のそれぞれのテーブルのIDフィールドで リレーションを取ってDB-AのTablA1のFldAの 値(AA)からDB-BのTablB1のFldBの値(あ)を 抽出することはSQL文で可能なのでしょうか? DB-A DB-B TablA1 TableB1 ID FldA ID FldB 1 AA 1 あ 2 BB       2 い 3 CC 3 う 4 DD 4 え

  • 「・」中点が入った文字列を条件にするとデータを抽出できないです

    「・」中点が入った文字列を条件にすると データを抽出できないです。 うまくいかない例 ------------------------------------------- $name = "春・春・春"; $Sql = "SELECT * FROM TestList"; $Sql .= " WHERE SpName = '".$name."'"; ------------------------------------------- 条件を変数に格納してSQL文に渡すと何も抽出できません。 しかし↓のようにSQLに直に「春・春・春」とすると うまくデータが抽出されます。 うまくいった例 ------------------------------------------- $Sql = "SELECT * FROM TestList"; $Sql .= " WHERE SpName = '春・春・春'"; ------------------------------------------- また「・」中点がない条件では変数で渡しても データがうまく抽出されます。 どうしたら「・」中点が入っている条件を 変数に格納してSQLに渡しても うまくデータが抽出されるでしょうか? どなたかご教示いただけますと助かります。 よろしくお願いします。