MySQLコマンドやSQL文に関する各種メモ書き

MySQLでサブクエリの結果とLEFT JOIN する

1. まず サブクエリで作成したいのテーブルのSQLを確認します。

SELECT 
	item_id, MIN(price_no) AS MIN_PRICE_NO
FROM
	items
GROUP BY
	item_id

2. LEFT JOIN するSQL文を用意します

SELECT 
	A.* ,
	B.MIN_PRICE_NO
FROM
	item_master AS A
	LEFT JOIN TMP AS B ON A.id = B.item_id

3. サブクエリを埋め込む

ここの TMP(サブクエリ) で置き換えるだけでOKです。

SELECT 
	A.* ,
	B.MIN_PRICE_NO
FROM
	item_master AS A
	LEFT JOIN TMP AS B ON A.id = B.item_id

 ↓

SELECT 
	A.* ,
	B.MIN_PRICE_NO
FROM
	item_master AS A
	LEFT JOIN 
(
SELECT 
	item_id, MIN(price_no) AS MIN_PRICE_NO
FROM
	items
GROUP BY
	item_id
)
	 AS B ON A.id = B.item_id
No.1331
10/29 11:20

edit