我通过连接查询查询两个表,以确定结果集中approved列中的每一行是否TRUE

SELECT
    `approvals`.`approved`
FROM `sign_ins`
RIGHT JOIN `approvals` ON
    `sign_ins`.`user` = `approvals`.`user`;

这将为每个用户返回一个布尔值的结果集,例如。
1
0
0
1
1

我的php代码遍历这些行,并通过返回false并在其中任何值0时中断循环来确定是否所有行都被批准。不过,我认为如果不需要遍历结果集,那么它会更高效、更优化;毕竟,我只关心一件事:如果所有行的值都是TRUE,那么就approved;否则就TRUE
我可以用mysql查询来实现这一点吗?
谢谢。

最佳答案

如果你只想得到真正的结果,那就去要求吧!

SELECT
    `approvals`.`approved`
FROM `sign_ins`
RIGHT JOIN `approvals` ON
    `sign_ins`.`user` = `approvals`.`user`;
WHERE `approvals`.`approved` = 1

09-05 05:53