gpt4 book ai didi

php - 选择一组具有特定记录数据的行

转载 作者:行者123 更新时间:2023-11-29 08:35:24 25 4
gpt4 key购买 nike

今天我带着一个让我相当困惑和困惑的问题来到这里。也许有人可以给我一些帮助。

我有如下三个表。请注意,它们针对此问题进行了简化。

//表检查//

check_id |task_id| status
1 | 1 | Done
2 | 1 | Done
3 | 1 | Done
4 | 2 | Done
5 | 2 | Not Done
6 | 2 | Not Done
7 | 2 | Not Done
8 | 2 | Done
9 | 3 | Done
10 | 3 | Done
11 | 3 | Not Done
12 | 3 | Done

//表用户//

user_id |  email   | type
1 | a@a.com | IN
2 | b@b.com | IN
3 | c@c.com | EX

//table_chk_usr//

check_id |user_id 
1 | 1
2 | 1
3 | 1
4 | 2
5 | 2
6 | 2
7 | 2
8 | 2
9 | 3
10 | 3
11 | 3
12 | 3

以下是三个表及其在 table_chk_usr 表中的关系。

我的问题是如何查询和选择 table_user 的行类型 'IN'从表 table_user其中所有用户分配 task_idstable_checksstatus =done .

所以预期的结果应该如下

//表用户//

user_id |  email   | type
1 | a@a.com | IN

由于 user_id 为 1 已完成状态为完成的所有 task_id。

我希望这对正在阅读的人来说是有意义的。任何帮助将不胜感激。

请注意,我使用 PHP 作为服务器端语言,如果这有任何帮助的话。

最佳答案

我认为这就是您正在寻找的。

select user.user_id, user.email, user.type, 
sum(if(status = 'done',1, 0)) as done, count(*) as checks
from checks
join chk_user on checks.check_id = chk_user.check_id
join user on chk_user.user_id = user.user_id
group by chk_user.user_id
having done = checks

sqlFiddle

关于php - 选择一组具有特定记录数据的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15395092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com