MySQL左結合:1つのテーブルからすべてを選択しますが、2番目のテーブルの値と条件が一致するだけです

nads

私は2つのテーブルを持っています。1つのテーブルからすべてを選択し、2番目のテーブルから一致する行を選択したい-基準に一致する。

したがってtblConfig_Group、グループのリストが含まれています。

|ID | groupCode | 
|1  | A         |
|2  | B         |
|3  | C         |
|4  | D         |

そしてtblConfig_CustomerGroup、そのグループとそのグループ内の顧客のリストが含まれています。

|ID | groupCode | customerID |
|1  | A         | 74         |
|2  | B         | 74         |
|3  | A         | 235        |
|4  | C         | 74         |

一致AND基準(customerID= 74)がある2番目のテーブルの行のみを表示する必要があります

期待される結果:

|ID | groupCode | customerID |
|1  | A         | 74         |
|2  | B         | 74         |
|3  | C         | 74         |
|4  | D         |            |

いくつかのクエリを試しましたが、うまくいかないようです...

SQLクエリ1:

SELECT g.groupCode,  cg.customerID FROM tblConfig_Group g 
LEFT JOIN tblConfig_CustomerGroup cg ON g.groupCode = cg.groupCode  
WHERE cg.customerID = '74'

実際の結果:行1、2、3。

| groupCode | customerID |
| A         | 74         |
| B         | 74         |
| A         | 74         |

SQLクエリ2:

SELECT g.groupCode,  cg.customerID FROM tblConfig_Group g 
left outer join tblConfig_CustomerGroup cg on g.groupCode = cg.groupCode   
WHERE cg.customerID = '74' 
UNION  
SELECT g.groupCode, cg.customerID 
FROM tblConfig_Group g 
right outer join tblConfig_CustomerGroup cg on g.groupCode = cg.groupCode

実際の結果:1、2、3+顧客235

| groupCode | customerID |
| A         | 74         |
| B         | 74         |
| A         | 74         |
| A         | 235        |
アレックス
SELECT 
  g.id,
  g.groupCode, 
  cg.customerID 
FROM tblConfig_Group g 
LEFT JOIN tblConfig_CustomerGroup cg 
ON g.groupCode = cg.groupCode 
  AND cg.customerID = '74';

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ