我有以下表格:
用户:
id,用户名,所有者
管理员
id,用户名,所有者
交易:
id,sender_id,sender_type
每个用户可以由一个管理员拥有 每个管理员可以由另一个管理员拥有
我正在尝试处理某些访问级别,并且我想检索具有通过 PHP 生成的列表的发件人部分所有者的查询行。
为此,我需要根据我拥有的数据获取发件人的所有者,而无需更改数据库结构:
SELECT
* ,
IF (t.sender_type='admin',
( SELECT owner AS qowner
FROM admins
WHERE id=t.sender_id),
( SELECT owner AS qowner FROM users
WHERE id=t.sender_id)
) AS qowner
FROM `transactions` t
WHERE qowner IN ('admin22','admin33','admin44','admin66')
我不断收到此错误:“where 子句”中的未知列“qowner”
我现在陷入了困境。我将感谢所有的帮助。谢谢!