【productsテーブル】
id
name
【ashopsテーブル】--A店で調査した商品価格と日時
id
product_id
price
research_date
【bshopsテーブル】--B店で調査した商品価格と日時
id
product_id
price
research_date
同じproducts_idで
ashops.research_dateが最新のashops.price(A店の最新価格)と
bshops.research_dateが最新のbshops.price(B店の最新価格)の差を
降順で並べ替えたいのですがSQL文の書き方がわかりません。
MySQL
1SELECT P.name,A.price,max(A.reserch_date),B.price,max(B.reserch_date),A.price-B.price 2from products as P 3INNER JOIN ashops as A on P.id = A.product_id 4JOIN bshops as B on P.id = B.product_id 5GROUP BY P.id; 6
ここまでは書いてみましたが、これだと最新のreserch_dateと同じ行のpriceが出力されません。
↓SQL出力結果
↓bshopのデータ
テーブル構造などが変わってもかまいません。良い方法があればご教授ください。
回答1件
あなたの回答
tips
プレビュー