【问题标题】:Join using multiple columns使用多列连接
【发布时间】:2021-11-11 18:04:59
【问题描述】:

如何使用 JOIN 执行以下操作:

Select
     id_pk, col1, col2,col
From table1 A
Where NOT EXISTS
  (select 1 from table2 B
    Where A.id_pk = B.id_pk
       and A.col1 = B.col1
       and A.col2 = B.col2
  );

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: join multiple-columns


【解决方案1】:

这里不能简单地使用join查询,因为我们知道两个表共享主键id_pk,我们宁愿获取满足条件A.id_pk = B.id_pk(Equi-join),@的那些记录的主键987654323@ 和A.col2 = B.col2。我们可以使用这组主键来获取那些使用NOT IN运算符主键不匹配的记录。在这种情况下,连接查询作为子查询给出。

查询:

SELECT
    id_pk, col1, col2, col
FROM table1 
WHERE id_pk NOT IN (
    SELECT A.id_pk
    FROM table1 A, table2 B
    WHERE A.id_pk = B.id_pk
    AND A.col1 = B.col1
    AND A.col2 = B.col2
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-23
    • 2018-06-26
    • 1970-01-01
    • 2019-07-28
    • 2022-01-09
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多