WinServer2003,WinXP,ORACLR10g使用しています。
SQL文の問合せ(SELECT)で、条件にあったテーブルを読みデータを取得するにはどのようなSQLの記述方法が良いでしょうか、お願いします。
3つのテーブルがあります。
Kdata,M_Fuku,M_Shokuhin
KdataのデータのフィールドKkubunが
1の時はM_Fukuから,5の時はM_Shokuhinから品名のデータを取得したいです。
Kdata
1 コード
2 日付
3 区分
4 数量
5 単価
M_Fuku
1 コード
2 品名
M_Shokuhin
1 コード
2 品名
日付 区分 品名 数量 単価 金額
060710 1 ジャケット 1 5000 5000
060711 5 玉子 2 100 200
このようにしたいと思っています。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
素直に2つのテーブルを結合し、結果として欲しいフィールドを条件により選択すれば
良いかと思います。
select decode(Kdata.コード,1,M_Fuku.品名,5,M_Shokuhin.品名) as 品名
from Kdata,M_Fuku,M_Shokuhin
where Kdata.区分=1 and Kdata.コード=M_Fuku.コード or Kdata.区分=5 and Kdata.コード=M_Shokuhin.コード;
この回答への補足
回答ありがとうございます。
実行した結果うまくいきました。
実際は、もう一つWHERE条件を追加して、GRIDに表示すると言う作業をしましたが、表示されるまで、時間がかかりすぎるので何か方法は無いでしょうか?
M_Fuku、M_Shokuhin共に約40000件くらいのデータです。
No.3
- 回答日時:
処理のスピード云々は、索引の有無など知らないと
何とも判りません。
まず、実行計画を見てください。(理想的な検索がされているか確認)
対処がから無ければ、再度質問されれば良いと思いますが、
その際は、実行計画の内容と索引の種類、各テーブルのデータ量等の
情報を付記してください。
回答ありがとうございます。
満足な結果が得られたので良いです。
スピード等は見直しが必要かと思いますので、自分なりにやってみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
orace SQL文のエラー(ORA-0092...
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
SQLについて教えて下さい。 主...
-
sqlで質問です。 idを元にidに...
-
oracleで 10,20, 30, というデ...
-
索引作成について
-
googleプレイの履歴で取得とイ...
-
sql(oracle)で質問です。 テ...
-
オラクルゴールドについて
-
sqlのupdate文で質問です。 テ...
-
ビットで表せる数値について
-
TOPページ以外の、301リダイレ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
orace 変更表エラーを回避する...
-
年月が連続したテーブルとそう...
-
PL/SQL 条件アップデートについて
-
SELECT文で条件にあったテーブ...
-
こういうDELETE文を作成したい...
-
ORACLEで2つのテーブルを同時に...
-
Oracle SQL 2つのテーブルを使...
-
SQLの作成について
-
同じフィールドから2種類の値を...
-
★アクセス2000★条件付き合計金...
-
SQLを考えてます。
-
こういうSELECTは可能でしょうか?
-
FOREIGN KEYの書き方
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
-
SQL文で右から1文字だけ削除す...
-
ADO VBA 実行時エラー3021
-
ファイル書込みで一行もしくは...
おすすめ情報