アプリ版:「スタンプのみでお礼する」機能のリリースについて

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の数は問わない方法は可能でしょうか?

A 回答 (1件)

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



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

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す