前提・実現したいこと
mysqlにて複数のカラムから1つのレコードを一括で抽出するクエリの作成
mysqlバージョン : Ver 14.14 Distrib 5.7.25
発生している問題・エラーメッセージ
期待抽出結果のように取得するクエリを作成のため、お力添えいただけると助かります。
areaテーブルのarea_cd1とarea_cd2の組み合わせごとに、keiyaku_tableから下記条件に合致する最大値のレコードを取得し、keiyaku_detail_tableのkeiyaku_ypeを取得したいです。
・抽出条件 (同一のレコードが複数存在する場合、1)→2)→3)→4)の順でチェック)
- 条件no1カラムの最大カラム
- 条件no2カラムの最大カラム
- 条件no3カラムの最大カラム
- 条件no4カラムの最大カラム
・各カラム属性
area_cd1 : VARCHAR(10)
area_cd2 : VARCHAR(10)
no1 : int
no2 : tinyint
no3 : tinyint
no4 : tinyint
keiyaku_type : VARCHAR(10)
試したこと
下記クエリで1件ずつ取得はできたのですが、抽出したいレコードが1000件近くあるため、一括で取得できればと思っています。
SELECT area_table.area_cd1,area_table.area_cd2,keiyaku_detail_table.no1,keiyaku_detail_table.no2,keiyaku_detail_table.no3,keiyaku_detail_table.no4,keiyaku_detail_table.keiyaku_type FROM keiyaku_detail_table INNER JOIN keiyaku_no_table ON ( keiyaku_detail_table.no1 = keiyaku_no_table.no1 AND keiyaku_detail_table.no2 = keiyaku_no_table.no2 AND keiyaku_detail_table.no3 = keiyaku_no_table.no3 AND keiyaku_detail_table.no4 = keiyaku_no_table.no4) WHERE (area_table.area_cd1 = '10' AND area_table.area_cd2 = '100') ORDER BY keiyaku_detail_table.no1 DESC, keiyaku_detail_table.no2 DESC, keiyaku_detail_table.no3 DESC, keiyaku_detail_table.no4 DESC LIMIT 1;
回答1件
あなたの回答
tips
プレビュー