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で質問しましょう!
似たような質問が見つかりました
- 世界情勢 国連やWHOは、公的な団体なのですか? 1 2023/01/18 19:54
- 政治 小泉自公政権になってからも、善政・善行は何一つ行わず、悪政・悪行・犯罪・テロ・噓八百等々 1 2022/06/02 18:22
- 政治 安倍自公政権のアベノミクスとやらで、日本が経済成長し、景気・内需も良くなった? 2 2022/05/04 10:30
- 中国語 新しい中国語入力ソフトを発明しました 22 2023/02/06 07:13
- 政治 安倍・菅・岸田自公政権の悪政・悪行・犯罪・テロ・噓八百・隠蔽・捏造・改ざん・悪い方向に 4 2022/05/29 19:36
- その他(暮らし・生活・行事) 安倍にも負けず課税にも負けず悪政にも生活苦にも腐った社会にも腐った連中にも負けず生き抜く 6 2022/07/14 22:36
- 外国株 SBI証券でidecoを検討しています。 SBI証券ホームページ(https://go.sbisec 1 2022/10/10 16:06
- 留学・ワーキングホリデー 中学生 留学面接 至急お願いします!!!! 3 2022/12/14 15:44
- 大学受験 関西外国語大学の国際共生学科、英米語学科(Super IESプログラム)、大阪外語専門学校、同志社大 1 2023/03/29 22:34
- 世界情勢 安倍首相がなくなると、ブッシュ、オバマ、トランプ前米大統領、バイデン米大統領、ブリンケン国務長官、ヒ 3 2022/07/11 11:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AccessVBAについて テーブルの...
-
【SQL】他テーブルに含まれる値...
-
SELECT INTOで一度に複数の変数...
-
Accessで今日から5日後
-
テーブル名が可変の場合のクエ...
-
フラグをたてるってどういうこ...
-
既存データをINSERT文にして出...
-
結合したテーブルをSUMしたい
-
CSVファイルを読み込んでテーブ...
-
ACCESSのVBAにてExcelに行...
-
sqlに記述できない文字
-
SQLで、Join句で結合したテ...
-
UPDATEで既存のレコードに文字...
-
PostgreSQLのtimestamp型で時間...
-
オラクルのUPDATEで複数テーブル
-
truncate tableを使って複数の...
-
SELECTした結果に行番号を求めたい
-
エラーを起こす方法
-
集計でテストの各教科の最高得...
-
ゼロ未満の場合で更新する場合
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AccessVBAについて テーブルの...
-
1つのSQLで2段階の抽出を行い...
-
SQLでレコード間の値の交換
-
limit offset はupdate文には使...
-
SQLで、過去で一番大きい日付の...
-
【SQL】項目に紐づいている情報...
-
複数の値を1レコードに表示した...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
sqlに記述できない文字
-
UPDATEで既存のレコードに文字...
-
テーブル名が可変の場合のクエ...
-
エラーを起こす方法
-
オラクルのUPDATEで複数テーブル
-
truncate tableを使って複数の...
-
結合したテーブルをSUMしたい
-
Accessで今日から5日後
-
既存データをINSERT文にして出...
-
timestampのデータはどのように...
おすすめ情報