我不确定我在这里尝试做的是可行的还是最好的方法,但我想避免多次查询来实现简单的结果集。
我的应用程序允许其帐户中的许多管理员和用户。我想返回一个基于其帐户类型的结果集,可以返回管理员和用户的数量(这是表中的固定值),但也返回已分配的管理员/用户数量。
这里最好的解释是一个例子(我知道它不起作用,但应该说明我正在尝试做什么:
SELECT
`admins`,
`users`,
COUNT(SELECT id FROM `account_admins` WHERE `account_id`=?) AS `current_admins`,
COUNT(SELECT id FROM `account_users` WHERE `acount_id`=?) AS `current_users`
FROM ....
我不确定上述是否可行,是否有效?我被告知我可以使用连接,但我不完全确定如何使用连接,尤其是多个COUNT()请求。
提前谢谢你:)
答案 0 :(得分:0)
您的子查询方法几乎是正确的。您想将count()
放在子查询中:
SELECT
`admins`,
`users`,
(SELECT count(id) FROM `account_admins` WHERE `account_id`=?) AS `current_admins`,
(SELECT count(id) FROM `account_users` WHERE `acount_id`=?) AS `current_users`
FROM ....