查找子记录之间共享的值

时间:2017-02-02 21:56:49

标签: sql

我有一个看起来像这样的数据库:

Parent ID | Code
1         | ABC
1         | DEF
2         | ABC
2         | GHI

我需要一个SQL查询,它将返回给定两个父ID的公共代码。在这种情况下,如果我想查找父项1和2的公共代码,则查询需要返回ABC。我保证如果两个父母有一个共同的代码,那么只有一个。

2 个答案:

答案 0 :(得分:3)

您可以使用分组并使用计数>打印代码。 1:

select code from tab
where `Parent ID` IN (1,2)
group by code
having count(*) > 1;

答案 1 :(得分:0)

您可以使用

SELECT distinct t1.code,t1.parentid,t2.parentid from tbl t1,tbl t2
WHERE t1.code = t2.code
AND t1.parentid <> t2.pparentid

所有代码及其父母