-3

相互 ID で関連付けられた 2 つのテーブルがあります。テーブル A のすべての名前を表示したいのですが、テーブル A の名前がテーブル B に存在するかどうかという追加情報が必要ですか? これがその例です

表 A

+-----------+------+
| Mutual ID | Name |
+-----------+------+   
|     1     | A    |   
|     1     | B    |
|     1     | C    |
|     1     | D    |
|     1     | E    |
+-----------+------+

表 B

+-----------+------+
| Mutual ID | Name |
+-----------+------+   
|     1     | A    |   
|     1     | B    |
|     1     | C    |
+-----------+------+

私はこのような出力が欲しい

+------+---------+
| Name |hasMutual|
+------+---------+   
| A    |   Yes   |   
| B    |   Yes   |
| C    |   Yes   |
| D    |   No    |
| E    |   No    |
+------+---------+

クエリを手伝ってください..前にありがとう

4

1 に答える 1

1

これは への左結合TableBを呼び出しますTableA。対応する行がない場合TableB、その値は になりますNULL

これにより、目的の出力が得られるはずです。

SELECT
  TableA.Name,
  CASE WHEN TableB.Name IS NULL THEN 'No' ELSE 'Yes' END AS hasMutual
FROM TableA
LEFT JOIN TableB ON TableA.Name = TableB.Name
WHERE TableA.MutualID = 1
ORDER BY TableA.Name
于 2013-06-12T15:09:45.677 に答える