
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ランキング
-
1つのSQLで2段階の抽出を行い...
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
sqlに記述できない文字
-
オラクルのUPDATEで複数テーブル
-
UPDATEで既存のレコードに文字...
-
truncate tableを使って複数の...
-
chr(13) と char(13) の違いっ...
-
JDBCを使ってdate型へのINSERT...
-
SQLをExcelで書いている人を良...
-
エラーを起こす方法
-
SELECT文の結果をDEFINEの値と...
-
VBAでの行数を揃える方法
-
SQLで、Join句で結合したテ...
-
既存データをINSERT文にして出...
-
テーブル定義書(Oracle) 【IX】...
-
UNION ALLでつなげた複数ビュー...
-
ACCESS VBAでSeekメソッドの処...
-
データベース ユーザの「このユ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つのSQLで2段階の抽出を行い...
-
SQLで、過去で一番大きい日付の...
-
limit offset はupdate文には使...
-
AccessVBAについて テーブルの...
-
SQLでレコード間の値の交換
-
DBに'no'というint型のフィール...
-
mysqlのindexとprimary keyにつ...
-
SQLのinの使い方
-
こちらのテーブルにあってこち...
-
SQL文の書き方
-
SQLで、指定日条件のSQL文
-
複数の値を1レコードに表示した...
-
条件を複数与えたい
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
SELECT INTOで一度に複数の変数...
-
sqlに記述できない文字
-
UPDATEで既存のレコードに文字...
-
truncate tableを使って複数の...
-
PostgreSQLのtimestamp型で時間...
おすすめ情報