C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: データベースのorder byに関して


(過去ログ 122 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■72953 / inTopicNo.1)  データベースのorder byに関して
  
□投稿者/ あらら (1回)-(2014/08/04(Mon) 01:16:38)

分類:[.NET 全般] 

@の名前を定義しているテーブルがあって、Aの表示する順番を定義しているテーブルがある場合、
名前を表示順で取得したいのですが、どのようなクエリを書けばよいのでしょうか?




@
ID    │名前
------│-------
001   │A
002   │B
003   │C
004   │D
005   │E

A
ID    │順番
------│-------
001   │1
002   │3
003   │5
004   │4
005   │2


【取得したい結果】
ID    │名前
------│-------
001   │A
005   │E
002   │B
004   │D
003   │C

引用返信 編集キー/
■72954 / inTopicNo.2)  Re[1]: データベースのorder byに関して
□投稿者/ shu (604回)-(2014/08/04(Mon) 09:15:15)
No72953 (あらら さん) に返信

2つのテーブルをIDでinner join して
2の順番でOrder Byして
1のIDと2の名前をSelect
すればよいです。


引用返信 編集キー/
■72955 / inTopicNo.3)  Re[1]: データベースのorder byに関して
□投稿者/ King (2回)-(2014/08/04(Mon) 09:15:46)
@とAを結合して、Aの「順番」で ORDER BY すれば良いのでは。
引用返信 編集キー/
■72990 / inTopicNo.4)  Re[1]: データベースのorder byに関して
□投稿者/ ぶなっぷ (14回)-(2014/08/07(Thu) 15:06:22)
SELECT * FROM @ INNER JOIN A ON @.ID = A.ID ORDER BY 順番;
みたいな感じ

ただし、これだと余計なフィールドも含まれる

さっぱりしたければ、
SELECT @.* FROM @ INNER JOIN A ON @.ID = A.ID ORDER BY 順番;
もしくは、
SELECT @.ID, @.名前 FROM @ INNER JOIN A ON @.ID = A.ID ORDER BY 順番;

かな

引用返信 編集キー/
■73009 / inTopicNo.5)  Re[2]: データベースのorder byに関して
□投稿者/ あらら (2回)-(2014/08/11(Mon) 04:45:54)
解決しました。

ありがとうございます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -