我对 MySQL 中的子查询功能感到非常困惑。
对于我的示例,我使用 3 个表:
adr 包含地址 adr_acc 包含有权访问地址的组或用户 usr_grp 包含属于某个组的用户
select * from adr where
adr.adr_id in
(select ac1.adr_id from adr_acc as ac1 where
(
(ac1.acc_type = 'U' and ac1.acc_id = '".$s['user']."') or
(ac1.acc_type = 'G' and ac1.acc_id in
(select ug1.grp_id from usr_grp as ug1 where ug1.usr_id = '".$s['user']."')
)
)
)
我收到一个错误:
1054 - 'IN/ALL/ANY 子查询'中的未知列'adr.adr_id'
我错过了什么?