我有两个表,一个用于管理员,一个用于用户。我想要一个管理员和用户的单个html选择框。我只想要活跃的用户/管理员,其中该用户/管理员在foo表中也有一个条目。 这是我到目前为止的MySQL查询:
SELECT * FROM users u, admins a, foo f WHERE u.active ='1' AND (a.admin_id = f.admin_id OR u.user_id = f.user_id)
不幸的是,这会产生无意义的结果。 提前谢谢!
答案 0 :(得分:0)
我猜你的桌子就是这样设置的。
foo (user_id, admin_id, ...)
users (user_id, active, ...)
admin (admin_id, active, ...)
如果是这种情况,那么除了重新考虑您的数据库设计(每个用户被分配了user_level的所有用户的一个表)之外,您可以尝试UNION
SELECT users.user_id AS id
FROM foo INNER JOIN users ON foo.user_id = users.user_id
WHERE users.active = '1'
UNION
SELECT admins.admin_id
FROM foo INNER JOIN admins ON foo.user_id = admins.admin_id
WHERE admins.active = '1'