【问题标题】:Select row with no match between two table by id通过 id 选择两个表之间不匹配的行
【发布时间】:2018-07-10 03:58:11
【问题描述】:

我有两个表,Table1 和 Table2。我想选择 Table2 中不包含在 Table1 中的不同行。这是一个例子:

  Table1

   | Name  |  | id |
   -----------------------
1. | aa |  | 1 |
   ------
2. | bb |  | 1 |
   ------
3. | cc |  | 2 |
   ------
4. | dd |  | 2  |
   ------

Table2

   | name |
   ------
1. | aa |
   ------
2. | aa |
   ------
3. | bb |
   ------
4. | cc |
   ------
5. | cc |
-------------
6. | DD |
   ------
7. | ee |
   ------
8. | ee |
   ------

当 id = 1 时,我希望两个表中所有不匹配的行
像 id = 1 时的结果
|姓名 |

1. |抄送|

2. | dd |

3. |呃 |

我也尝试了 rgiht 外连接,但当 id = 1 或 id = 2 时,我的结果没有区别

【问题讨论】:

  • 你能分享一下你到目前为止的尝试吗?
  • 我只想查询当 id = 1 时谁给出这两个表中不相等的所有行

标签: mysql join outer-join


【解决方案1】:

这个问题不是很清楚,但我认为这是你需要的

SELECT  DISTINCT  
        *
FROM    Table2 t2
        LEFT JOIN Table1 t1
            ON t1.name = t2.name
WHERE    ID <> 1 OR ID IS NULL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 2012-12-25
    • 2018-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多