人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

同じ数値のデータを抽出したい(SQL)

以下のテーブルがあります。

year|company|sales
22|トヨタ|100
22|日産|50
22|ダイハツ|70
22|ホンダ|35
23|トヨタ|100
23|日産|60
23|ダイハツ|70
23|ホンダ|40

この中で、22年と23年の売上(sales)が同じ会社のみを抽出するSQLは可能でしょうか?

【求める結果】
以下のいずれか。

year|company|sales
22|トヨタ|100
22|ダイハツ|70
23|トヨタ|100
23|ダイハツ|70

year|company|sales
22|トヨタ|100
23|トヨタ|100
23|ダイハツ|70
22|ダイハツ|70

●質問者: jamis
●カテゴリ:ビジネス・経営
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント ベストアンサー

そのテーブルの名前が ttt だとして、こんな感じで抽出できます。

select t1.*
 from ttt t1, ttt t2
 where t1.sales = t2.sales and t1.year != t2.year
 order by t1.year

もしくは、order by t1.company で。

http://sqlfiddle.com/#!9/67a86/4


rouge_2008さんのコメント
メーカーも比較条件に入れないと余分なデータまで抽出されてしまいます。 例えば次のように年度もメーカも違う同じ売上値のデータがある場合に困るので、条件に「t1.company = t2.company」も「AND」で追加すると良さそうです。 year|company|sales 22|トヨタ|100 22|日産|50 22|ダイハツ|70 22|ホンダ|35 22|マツダ|40 22|スズキ|60 23|トヨタ|100 23|日産|60 23|ダイハツ|70 23|ホンダ|40 23|マツダ|40 23|スズキ|50

a-kuma3さんのコメント
あちゃあ。

jamisさんのコメント
回答ありがとうございます。 お二方の合わせ技で思っていた形が実現できました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ