1454047322 MySQL


Tableとデータ内容は画像の通りです。

●やりたい事
カラム名「date」が 2016/1/29 と 2016/1/6 のレコードのうち
producut_idとshop_idが一緒で、priceが異なる物を抽出し、
priceの差分を抽出したいです。
→priceに変化があったものだけを抽出する

●アウトプットイメージ
array(
0=>
array(
product_id =>4511116,
shop_id => 100,
price_defference => 2172
)
)


よろしくお願いいたします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2016/02/05 15:05:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:pogpi No.1

回答回数428ベストアンサー獲得回数59

ポイント200pt

SELECT T1.product_id,T1.shop_id,T1.price,T2.price FROM (SELECT * FROM tablename WHERE date = '2016-1-6') T1,(SELECT * FROM tablename WHERE date= '2016-1-29') T2 WHERE T1.product_id = T2.product_id AND T1.shop_id = T2.shop_id AND T1.price <> T2.price

で、どうですか。差分は「T2.price - T1.price」ですね。

id:pogpi

dateは、予約語だった気もしますが実際は別のカラム名なんでしょうかね。
tablenameも、適宜読み替えてください。

2016/02/01 14:36:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません