父表

Column1
S1
S2
S3

表 child
Column1     Column2
S1          P1
S1          P2
S2          P1
S2          P2
S3          P1

其中 parent.column1 = child.column1

鉴于上述表格,我需要确定其 child 在 column2 中与 parent S1 具有相同记录的 parent 。

例如,S1 和 S2 都有 P1 和 P2,因此满足条件。然而,S3 没有 P2,因此应该被排除在外。

SQL 的新手,所以我遇到了一些麻烦。通过使用 not in 语句进行了尝试,但由于 S3 具有 P1,因此并未将其排除在外。

最佳答案

你需要加入。这将因 SQL 方言而异。就像是:

select child.column1, child.column2 from (
  select column2 as parentsColumn2Value from child where column1='S1'
) as parentsColumn2Table
left join child on parentsColumn2Table.column2=child.column2

关于SQL - 识别多条记录的精确匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/880217/

10-13 07:49