使用内部联接从子表中获取TOP行

Jas*_*n M 0 sql sql-server sql-server-2008

我希望内部联接基于ID的子表并获取子表的顶行,我没有加入从子表中获取任何数据,它只是为了验证父表的子表记录是否存在.如果我不包括TOP行,则有可能在结果集中获得多行父级.

- 同一PARENTID的结果集中有多行可能

选择P.PARENTID从父母P内部
加入儿童C在C.PARENTID = P.PARENTID和C.ISACTIVE = 1

我需要类似的东西

从父母P内部联接中选择P.PARENTID
(从孩子中选择前1名)作为
C.PARENTID = P.PARENTID和C.ISACTIVE = 1

我不确定如何使它工作我很好奇,如果有人可以帮助我或提供任何我可以找到解决方案的网址

Ste*_*aux 6

你认为在哪里可以胜任这项工作吗?

SELECT P.PARENTID FROM PARENT P 
WHERE EXISTS (SELECT 1  FROM CHILD C 
WHERE C.PARENTID = P.PARENTID 
AND C.ISACTIVE = 1)
Run Code Online (Sandbox Code Playgroud)