考虑这两个表:
位置(位置标识,位置文本,报告位置标识)
用户(用户标识,位置标识)
如何在一个查询中检查用户是否有任何下属?甚至可能吗?
一个下属:如果有任何用户(b) 有用户(a) 的positionid 作为用户(b) 对应的positionid 报告给用户(b) 的positionid
考虑这两个表:
位置(位置标识,位置文本,报告位置标识)
用户(用户标识,位置标识)
如何在一个查询中检查用户是否有任何下属?甚至可能吗?
一个下属:如果有任何用户(b) 有用户(a) 的positionid 作为用户(b) 对应的positionid 报告给用户(b) 的positionid
这将返回有下属的用户:
SELECT *
FROM User u
WHERE EXISTS (
SELECT 1
FROM Position p
WHERE p.reportstopositionid = u.positionid
)
我想你想用一个where
子句来做到这一点:
select u.*
from user u
where u.positionId in (select reportstopositionid from position p)
这将获取匹配的用户列表,没有重复。
这个怎么样?
SELECT DISTINCT a.*
FROM user a
INNER JOIN position b
ON a.userID = b.reportstopositionID
此查询返回的记录是在列的表上userid
具有匹配 ID 的记录position
reportstopositionID