0

考虑这两个表:

位置(位置标识,位置文本,报告位置标识)

用户(用户标识,位置标识)

如何在一个查询中检查用户是否有任何下属?甚至可能吗?

一个下属:如果有任何用户(b) 有用户(a) 的positionid 作为用户(b) 对应的positionid 报告给用户(b) 的positionid

4

3 回答 3

2

这将返回有下属的用户:

SELECT *
FROM   User u
WHERE  EXISTS (
           SELECT 1
           FROM   Position p
           WHERE  p.reportstopositionid = u.positionid
       )
于 2013-02-25T14:15:46.080 回答
1

我想你想用一个where子句来做到这一点:

select u.*
from user u
where u.positionId in (select reportstopositionid from position p)

这将获取匹配的用户列表,没有重复。

于 2013-02-25T14:06:38.580 回答
1

这个怎么样?

SELECT  DISTINCT a.*
FROM    user a
        INNER JOIN position b
            ON a.userID = b.reportstopositionID

此查询返回的记录是在列的表上userid具有匹配 ID 的记录positionreportstopositionID

于 2013-02-25T14:03:20.077 回答