我有两张相互ID相关的表格。 我想显示表A中的所有名称,但有一些额外的信息, 表B中的名称是否存在于表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 |
+------+---------+
请帮我查询..谢谢之前
答案 0 :(得分: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