改定連番が最小のレコードを別のレコードと結合し出力する方法
情報テーブル
会社コード | コード1 | 区分1 | コード2 | 契約連番 | 最新契約ステータス |
---|---|---|---|---|---|
01 | 0010 | 0010 | 0010 | 1 | 0010 |
01 | 0010 | 0010 | 0010 | 2 | 0020 |
改定情報テーブル
会社コード | コード1 | 区分1 | コード2 | 契約連番 | 改定連番 | 最新契約ステータス |
---|---|---|---|---|---|---|
01 | 0010 | 0010 | 0010 | 1 | 1 | 0010 |
01 | 0010 | 0010 | 0010 | 1 | 2 | 0020 |
01 | 0010 | 0010 | 0010 | 2 | 1 | 0010 |
01 | 0010 | 0010 | 0010 | 2 | 2 | 0020 |
01 | 0010 | 0010 | 0010 | 2 | 3 | 0030 |
▼SQL文
SELECT *
FROM 情報 AS B1
LEFT JOIN(
SELECT A1.会社コード,A1.コード1,A1.区分1,A1.コード2,A1.契約連番,A1.改定連番,A1.契約ステータス区分
FROM 改定情報 AS A1
INNER JOIN(
SELECT 会社コード,コード1,区分1,コード2,契約連番,MIN(改定連番)AS 最小改定連番
FROM 改定情報
GROUP BY 会社コード,コード1,区分1,コード2,契約連番
) AS A2
ON A1.会社コード = A2.会社コード
AND A1.コード1 = A2.コード1
AND A1.区分1 = A2.区分1
AND A1.コード2 = A2.コード2
AND A1.契約連番 = A2.契約連番
AND A1.改定連番 = A2.最小改定連番
)AS B2
ON B1.会社コード = B2.会社コード
AND B1.コード1 = B2.コード1
AND B1.区分1 = B2.区分1
AND B1.コード2 = B2.コード2
AND B1.契約連番 = B2.契約連番;