【发布时间】:2020-02-24 15:01:15
【问题描述】:
我正在尝试使用 PHP 在 MYSQL 中合并两个查询的两个结果,但我不知道该怎么做!我正在使用 PDO。我正在为一种爱好编程,并正在尝试制作一个待办事项列表应用程序,就像 Trello 板一样。但是,我只是不知道如何合并来自数据库中不同表的两个结果。
思路如下:
我有一个名为“task_lists”的表格,内容如下:
'list_id => 1, list_name = 'listOne'
'list_id => 2, list_name = 'listTwo'
还有一个名为“任务”的表格:
task_id => 1, list_id => 1, task_name => 'taskOfListOne', duration => 5, is_done => 1
task_id => 2, list_id => 1, task_name => 'anotherTaskOfListOne', duration => 5, is_done => 1
task_id => 3, list_id => 2, task_name => 'taskOfListTwo', duration => 10, is_done => 0
我正在尝试创建一个在两个结果之间合并的数组,如下所示: (我知道这是数组应该是什么样子的粗略图片)
$result = [array]
[list_id] = 1, [list_name] = 'listOne' =>
[array][list_id] = 1, ['task_name] = taskOfListOne,[duration] = 5, ['is_done'] => 1
[array][list_id] = 1, ['task_name] = anotherTaskOfListOne,[duration] = 5, ['is_done'] => 1
[list_id] = 2, [list_name] = 'listTwo' =>
[array][list_id] = 2, ['task_name] = taskOfListTwo,[duration] = 5, ['is_done'] => 1
这甚至可能吗?我已经尝试过 Union sql 查询和嵌套 foreach 语句之类的方法,但它们都不适合我。我在这里遗漏了什么吗?
PS:对不起,我的英语不好。
【问题讨论】:
-
您是否尝试过使用 list_id 进行左连接?
-
解决它的有效方法是在你的 SQL 中使用 JOIN。
-
@besciualex,非常感谢!但是如何摆脱重复值呢?
标签: php mysql sql pdo left-join