Sql 告诉一个实体,是否有属于它的实体也属于其他实体

Sql 告诉一个实体,是否有属于它的实体也属于其他实体,sql,postgresql,Sql,Postgresql,给出一个连接表,显示哪些人访问了哪些国家(c)(p): 我正在寻找一个查询,告诉一个给定的国家是否有人访问过另一个国家。因此,在本例中,对于国家1和国家3,此查询应返回true。困难更多的是您希望如何查看结果,假设我们可以直接对其进行搜索: select string_agg(c::text,',') from foo group by p having count(distinct c) > 1 DBFiddle:请尝试以下代码: SELECT c FROM tbl WHERE p

给出一个连接表,显示哪些人访问了哪些国家(
c
)(
p
):


我正在寻找一个查询,告诉一个给定的国家是否有人访问过另一个国家。因此,在本例中,对于国家1和国家3,此查询应返回true。

困难更多的是您希望如何查看结果,假设我们可以直接对其进行搜索:

select string_agg(c::text,',')
from foo
group by p
having count(distinct c) > 1
DBFiddle:

请尝试以下代码:

SELECT c 
FROM tbl
WHERE p IN (SELECT p 
            FROM tbl 
            GROUP BY p 
            HAVING COUNT(DISTINCT c) > 1)
SELECT c 
FROM tbl
WHERE p IN (SELECT p 
            FROM tbl 
            GROUP BY p 
            HAVING COUNT(DISTINCT c) > 1)