以下の条件を複合したSQL文を考えています。
SQLが分かる方、お手数ですがよろしくお願いいたします。
●TBL_1、TBL_2のJUDGEが共に「OK」である、IDとJUDGEとTBL_2のDATE
◆TBL_1
ID ,JUDGE,DATE
001,OK ,20100101
002,NG ,20100102
◆TBL_2
ID ,JUDGE,DATE
001,OK ,20130101
002,OK ,20130102
◆希望検索結果
ID ,JUDGE,DATE
001,OK ,20130101
おそらく結合という処理が必要なのだと思います。
SQLの知識をお持ちでお時間がある方、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
先ず、理論の組み立てが大切です。
(1)TBL_1からJUDGE=OKのものを抽出する。
(2)TBL_2からJUDGE=OKのものを抽出する。
(3)上記(1)と(2)をIDで結合する。
次にOracleのバージョンにより結合式の
書式が違います。
バージョンを明記しましょう。
最新と仮定すると、以下のようになります。
SELECT A.ID,A.JUDGE,B.DATE FROM
(SELECT ID,JUDGE FROM TBL_1
WHERE JUDGE='OK') A
INNER JOIN
(SELECT ID,DATE FROM TBL_2
WHERE JUDGE='OK') B
ON A.ID=B.ID
結合したクエリから条件を指定して抽出
するより、先に条件で絞り込んだクエリを
結合する方が件数が減っているので効率が
良くなります。まぁ、今時は機械も速いし、
件数が何十万でもなければ、どうやっても
見た目の変化はありませんが、昔はこういう
ことをしないと、処理時間に大きな差がでた
ものです。
実機環境詳細を書かず、申し訳ございませんでした。
Oracleは9iの環境です。
細かい説明等も教えていただき、とても参考になりました。
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 2つのカラムでgroup by の動作をさせるSQLの構文を教えてください。 3 2022/05/19 19:02
- Visual Basic(VBA) VBAチェックボックスで有効無効切り替えできるように 5 2022/10/21 16:13
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) VBA チェックボックスの設定について 1 2022/10/24 10:27
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- Visual Basic(VBA) フォーム上のリストボックスに重複して表示しています 3 2022/10/19 11:55
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのSQL(Access)の結果[時刻,...
-
関係演算子が無効です。
-
エラー「無効な識別子です」
-
SQLで後方の文字列を置換する方法
-
TO_CHAR関数における外部結合に...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
select句副問い合わせ 値の個...
-
SELECTで1件のみ取得するには?
-
SQL文で右から1文字だけ削除す...
-
ファイル書込みで一行もしくは...
-
サブクエリとDISTINCTGROUPBYの...
-
OracleのSQL*PLUSで、デー...
-
最新の日付とその金額をクエリ...
-
select insertで複数テーブルか...
-
実績累計の求め方と意味を教え...
-
JSPのNULLレコード表示について...
-
GROUP BYを使ったSELECT文の総...
-
Access終了時の最適化が失敗?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQL 外部結合についての質問
-
自己相関サブクエリと自己結合...
-
エラー2「無効な識別子です」
-
2つのSQL(Access)の結果[時刻,...
-
関係演算子が無効です。
-
同じテーブルをLEFT JOIN
-
SQLで後方の文字列を置換する方法
-
エラー「無効な識別子です」
-
LEFT JOINの条件式で=’’を使用...
-
Excel VBAで、Averageの範囲を...
-
エクセルVBAでSUM関数の位置を...
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
-
SQL文で右から1文字だけ削除す...
-
GROUP BYを使ったSELECT文の総...
-
select句副問い合わせ 値の個...
-
レコードが存在しなかった場合
-
ADO VBA 実行時エラー3021
おすすめ情報