0

過去に何度かこれを成功させたので、私は脳死に真剣に苦しんでいます。

今回は、機能していません。

tableA と tableB の 2 つのテーブルがあります。

TableA にはすべての surmons レコードがあります

TableB にはいくつかのサーモンがありますが、すべてではありません。

それらの間の共通キーは surmonId です。

要件は、tableA と tableB の間に一致がある tableB からのサーモンを表示することですが、同時に、tableA からのすべてのサーモンを表示することです。

つまり、tableB から、存在するすべてのレコードと、tableA のすべてのレコードを取得してください。

以下の左結合クエリでは、tableB に存在するレコードのみが返されます。

Select distinct l.surmons from tableB b left join tableA a on b.surmonId = a.surmonId.

tableB には 10 の Surmons しかなく、それがすべてです。

私はどこを台無しにしていますか?

事前にどうもありがとう

4

2 に答える 2

3

テーブルの順序を切り替えるか:

SELECT DISTINCT a.surmons 
FROM tableA a 
LEFT JOIN tableB b 
   ON a.surmonId = b.surmonId 

または、私のお気に入りを使用しますRIGHT JOIN

SELECT DISTINCT a.surmons 
FROM tableB b 
RIGHT JOIN tableA a 
   ON b.surmonId = a.surmonId
于 2013-07-08T20:06:59.187 に答える
1

tableA のすべてが必要な場合は、tableA から tableB への左結合を作成する必要があります。

Select distinct a.surmons from tableA a left join tableB b on a.surmonId = b.surmonId
于 2013-07-08T20:06:44.890 に答える