【问题标题】:What is my SQL query for my condition? [closed]我的条件的 SQL 查询是什么? [关闭]
【发布时间】:2013-06-12 15:05:32
【问题描述】:

我有两个通过相互 ID 关联的表.. 我想显示表 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    |
+------+---------+

请帮我查询..谢谢

【问题讨论】:

    标签: mysql select


    【解决方案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
    

    【讨论】:

    • 感谢 Ed 的回答。它为我提供了一些创建输出的线索
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 2020-04-14
    相关资源
    最近更新 更多