![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
SQL Server2005でTOP句にOrderをつけている場合には、以下の書き方が可能です。
select
max(case when rownum=1 then country end),
max(case when rownum=1 then medal end),
max(case when rownum=2 then country end),
max(case when rownum=2 then medal end),
max(case when rownum=3 then country end),
max(case when rownum=3 then medal end)
from
(select top 3
row_number() over (order by medal desc) rownum,
country, medal
from beijing2008) tmp
この回答への補足
早速のご回答ありがとうございます。
考え方、非常に参考になりました。まさにその通りなんですが…
よくよく考えてみると別テーブルからの取得が必要でJoinしなきゃいけないことに気づきました。
今、話題の例が使えないので、ショボイ例になるのですが、
仕入テーブル
仕入先ID
商品名
仕入数量
仕入先マスター
仕入先ID
仕入先名
で、
出力が、
○○商店 うどん10 そば8 ラーメン6
△△食堂 そば10 うどん5 ラーメン3
という具合です。
私がやるとどうしても、JOINがうまく効かないので、アドバイスお願いします。
No.2
- 回答日時:
こんな感じになるでしょう。
SELECT
仕入先名,
MAX(CASE WHEN ROWNUM=1 THEN 商品名 END),
MAX(CASE WHEN ROWNUM=1 THEN 数量 END),
MAX(CASE WHEN ROWNUM=2 THEN 商品名 END),
MAX(CASE WHEN ROWNUM=2 THEN 数量 END),
MAX(CASE WHEN ROWNUM=3 THEN 商品名 END),
MAX(CASE WHEN ROWNUM=3 THEN 数量 END)
FROM
(SELECT
(ROW_NUMBER() OVER (PARTITION BY m.仕入先ID ORDER BY t.仕入数量 DESC)) ROWNUM,
m.仕入先名
t.商品名,
t.仕入数量
FROM 仕入先マスター m
INNER JOIN 仕入テーブル t ON t.仕入先ID=m.仕入先ID) tmp
GROUP BY 仕入先名
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS2007 フォーム 「バリア...
-
[SQLServer] テーブル名からカ...
-
sqlserverで集計結果をUPDATEし...
-
SQL Date型の列から年月だけを...
-
SQLのエラー(~付近に不適切な...
-
SQLサーバー接続 特定のPCがWin...
-
SQLサーバで和暦から西暦に変換...
-
SQL Oracle serverにって質問で...
-
SQLの複数のカウントについて
-
chr(13) と char(13) の違いっ...
-
時給毎の勤務時間を求めるSQL
-
SQLSERVERのデータファイル圧縮...
-
SQLServer2012、FOR XML PATH('...
-
Microsoft SQL Native Cliant 9...
-
.SQLファイルをvbaで実行
-
<SQL>重複しているデータの場合...
-
sqlserverで対象のレコードを削...
-
BULK INSERT時のNull許容について
-
SQL クエリ データ数
-
SQL Server management studio ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
limit offset はupdate文には使...
-
1つのSQLで2段階の抽出を行い...
-
SQLで、過去で一番大きい日付の...
-
AccessVBAについて テーブルの...
-
複数の値を1レコードに表示した...
-
【SQL】項目に紐づいている情報...
-
SQL文の書き方
-
mysqlのindexとprimary keyにつ...
-
DBに'no'というint型のフィール...
-
SQLでレコード間の値の交換
-
2つフィールドを連結して検索す...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
-
既存データをINSERT文にして出...
-
PostgreSQLのtimestamp型で時間...
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
UPDATEで既存のレコードに文字...
おすすめ情報