gpt4 book ai didi

php - Mysql 多连接表与 NULL 值

转载 作者:行者123 更新时间:2023-11-30 01:37:53 25 4
gpt4 key购买 nike

我正在尝试执行以下操作...

我有一个 PHPmyadmin 数据库,其中包含表:任务、用户和表 task_user。例如我想要拥有2013年1月1日以来的所有任务,并且一个任务可以有多个用户。我想用 HTML 制作一个表格,如下所示:

                      Name1       Name2       Name3
Date: 01-01-2013 Task Task
Task

因此,查询应始终返回用户,无论他们是否有任务。

如果我做这样的事情:

SELECT t.title, u.firstname, u.lastname FROM users as u
INNER JOIN task_user as tu ON tu.uid = u.uid
INNER JOIN tasks as t ON t.taskid = tu.taskid
WHERE t.date = "2013-05-16"

这仅返回一名用户,该用户在该日期有两项任务,但也仅显示一项任务。

如何通过此查询向我提供所有用户的所有任务? (如果他们有任务,否则返回 null)或者有人知道更好的方法来实现这一目标吗?

我想我可能需要一些其他 JOIN 或 GroupBy?

我们将不胜感激所有帮助!

最佳答案

使用 LEFT 或 RIGHT 连接而不是 INNER 连接。仅当在两个/所有表中找到记录时,内连接才会返回记录

SELECT t.title, u.firstname, u.lastname FROM users as u
LEFt JOIN task_user as tu ON tu.uid = u.uid
LEFT JOIN tasks as t ON t.taskid = tu.taskid
WHERE t.date = "2013-05-16"

关于php - Mysql 多连接表与 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16608634/

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