こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

OUTER JOIN と TOP10との組み合わせ

LEFT OUTER JOIN と TOP10との組み合わせ

テーブルAと LEFT OUTER JOIN するテーブルBがあり、
単にLEFT OUTER JOINすると、
レコードA01 レコードB01
レコードA01 レコードB02
レコードA01 レコードB03

のようにレコードBに対し、該当する同じレコードAが複数取得されます。

この状態でTOP10をかけると、テーブルAのTOP10が欲しいのに、
テーブルBも混じった数で取得されてしまいます。
(テーブルAは10レコード取得できない)

これをテーブルAのTOP10を取得して、それにJOINするテーブルBの数は問わない方法は可能でしょうか?

投稿日時 - 2014-03-06 12:59:26

QNo.8502299

困ってます

質問者が選んだベストアンサー

副問い合わせを使って「テーブルAのTOP10を抽出したもの」とテーブルBを外部結合したらどうでしょうか。

SELECT AA.列名, テーブルB.列名 FROM (SELECT TOP 10 列名 FROM テーブルA) AA LEFT OUTER JOIN テーブルB ON (結合条件)

このようにFROM句の後に()をつけてSELECT文を記述すると、そのSELECT文の結果を一つの表(ビュー)として扱えます。

投稿日時 - 2014-03-06 13:57:38

このQ&Aは役に立ちましたか?

12人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-