- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:同一テーブル内での比較(2つの条件での比較))
同一テーブル内での比較(2つの条件での比較)
このQ&Aのポイント
- 商品毎に異なる商店の価格差を大きい順にソートする方法について教えてください。
- SQL分を使用して、商品毎に商店1とそれ以外の商店の価格差を求めることができます。
- 希望の出力結果は、価格差、商品名、商店の順で表示される形式です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「商品ID」カラムの値が「商品A」や「商品B」で、「商店ID」カラムの値が「商店1」や「商店2」なのでしょうか? 少し違和感が有りますが、それは置いておいて・・・。 「商店1」以外の行を、同じ商品IDの「商店1」の行と結合して、価格の差を取れば良いかと。 例) ------------------------------------ SELECT a.価格 - b.価格 AS 価格差, a.商品ID AS 商品名, a.商店ID AS 商店 FROM 対象テーブル a INNER JOIN 対象テーブル b ON (a.商品ID = b.商品ID AND b.商店ID = '商店1') WHERE a.商店ID <> '商店1' ORDER BY a.価格 - b.価格 DESC; ----------------------------------------
その他の回答 (1)
- Bnbnbnta101
- ベストアンサー率7% (41/516)
回答No.1
こんな感じでどうでしょう。 select t2.価格-t1.価格 as 価格差 ,t1.商品名 ,t1.商店 from テーブル1 as t1 left join ( select 価格,商品 from テーブル1 where 商店=商店1 ) as t2 on t1.商品 = t2.商品 where t1.商店<>商店1
質問者
お礼
さすがです。きっちり出てきました。 早々の回答、ありがとうございます。あとは順序をつければOKですね。 ありがとうございました。
お礼
解説付きで助かりますし、よくわかりました。 きっちり出てきました。早々の回答、ありがとうございます。 ありがとうございました。