
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ランキング
-
limit offset はupdate文には使...
-
NASAで働くにはどうしたらいい...
-
エクセル 2つの列にある値の完...
-
sqlに記述できない文字
-
truncate tableを使って複数の...
-
SQLで複数のテーブルをつないで...
-
SELECT INTOで一度に複数の変数...
-
VBAで、新しい値のみを抜き出す...
-
テーブル名が可変の場合のクエ...
-
SQLのIF文
-
同一テーブル内での比較(最新...
-
SQLサーバに対するSQL文で抽出...
-
副問合せを使わずにUNIONと同様...
-
UPDATEの更新前の値を取得したい
-
オラクルのUPDATEで複数テーブル
-
PostgreSQLのtimestamp型で時間...
-
あってますか?SQL
-
Accessの構成をコピーしたい
-
エクスポート不具合
-
SQLをExcelで書いている人を良...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
limit offset はupdate文には使...
-
1つのSQLで2段階の抽出を行い...
-
【SQL】項目に紐づいている情報...
-
SQLで、過去で一番大きい日付の...
-
AccessVBAについて テーブルの...
-
こちらのテーブルにあってこち...
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
-
truncate tableを使って複数の...
-
UPDATEで既存のレコードに文字...
-
PostgreSQLのtimestamp型で時間...
-
オラクルのUPDATEで複数テーブル
-
既存データをINSERT文にして出...
-
エラーを起こす方法
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
SQLサーバに対するSQL文で抽出...
-
UPDATEの更新前の値を取得したい
おすすめ情報