gpt4 book ai didi

mysql 显示每行中有两个内连接的其他表的行数

转载 作者:行者123 更新时间:2023-11-30 00:20:08 26 4
gpt4 key购买 nike

我有三个表:tasks , groupsitems .

  • tasks列:task_id、描述、组(INT,用组表中的名称替换 id)、优先级、截止日期、日期、已删除(0 或 1);
  • groups列:id、名称;​​
  • items列:id、描述、task_id;

例如:

tasks表:

1|bla-bla|group1|high|2|2014-04-15 18:09:18|NULL|0
2|bla-bla|group1|low |1|2014-05-15 18:09:18|NULL|1

groups表:

1|group1

items表:

1|item1|1
2|item2|1
3|item3|2

和我的sql:

SELECT tasks.task_id, 
tasks.description,
groups.name,
tasks.priority,
COUNT(items.id),
tasks.date,
tasks.deadline,
tasks.deleted
FROM tasks
INNER JOIN items
ON items.task_id = tasks.task_id
INNER JOIN groups
ON groups.id = tasks.group
WHERE tasks.deleted = 1
GROUP BY tasks.task_id;

这将返回空表,但如果 tasks.deleted <> 1返回一切正常。我想获取所有已删除的任务以及每行中的项目数。

最佳答案

groups表的连接是在name上,而不是在id上。您在查询中还有一个名为 test 的表别名,该别名似乎未定义。试试这个:

SELECT t.task_id, t.description, g.name, t.priority, 
COUNT(i.id), t.date, t.deadline, t.deleted
FROM tasks t
INNER JOIN items i
ON i.task_id = t.task_id
INNER JOIN groups g
ON g.name = t.group
WHERE t.deleted = 1
GROUP BY t.task_id;

关于mysql 显示每行中有两个内连接的其他表的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23315572/

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