【发布时间】:2021-10-06 17:32:50
【问题描述】:
表 1:项目列表
| id | name |
|---|---|
| 5 | A |
| 6 | B |
| 7 | C |
| 8 | D |
| 9 | E |
表 2:用户生产力
| id | project_id | task_id | comment | date_created |
|---|---|---|---|---|
| 1 | 5 | 1 | p5.task1 | 2021-09-28 13:40:19 |
| 2 | 6 | 1 | p6.task1 | 2021-09-28 13:41:19 |
| 3 | 7 | 1 | p7.task1 | 2021-09-28 13:42:19 |
| 4 | 8 | 1 | p8.task1 | 2021-09-28 13:43:19 |
| 5 | 5 | 2 | p5.task2 | 2021-09-28 13:44:19 |
| 6 | 6 | 2 | p6.task2 | 2021-09-28 13:45:19 |
| 7 | 7 | 2 | p7.task2 | 2021-09-28 13:46:19 |
| 8 | 8 | 2 | p8.task2 | 2021-09-28 13:47:19 |
表 3:任务列表
| id | project_id |
|---|---|
| 1 | 5 |
| 2 | 6 |
| 3 | 7 |
| 4 | 8 |
| 5 | 9 |
我的问题是如何连接两个表并显示查询列 'comment' 只是列 'date_created' 的最后一次更新或 DESCENDING。 请帮助解决我在这种情况下的问题。非常感谢您提前。干杯!
SELECT project_list.id, project_list.name, user_productivity.project_id,
user_productivity.comment, user_productivity.date_created
FROM project_list
LEFT JOIN user_productivity ON project_list.id = user_productivity.project_id
GROUP BY project_list.id
| No | id (on table project_list) | name | comment | date_created |
|---|---|---|---|---|
| 1 | 5 | A | p5.task1 | 2021-09-28 13:40:19 |
| 2 | 6 | B | p6.task1 | 2021-09-28 13:41:19 |
| 3 | 7 | C | p7.task1 | 2021-09-28 13:42:19 |
| 4 | 8 | D | p8.task1 | 2021-09-28 13:43:19 |
| 5 | 9 | E |
结果是:组 id 已解决。但评论不是最后更新的日期_created
我也试试:
SELECT project_list.id, project_list.name, user_productivity.project_id,
user_productivity.comment, user_productivity.date_created
FROM project_list
LEFT JOIN user_productivity ON project_list.id = user_productivity.project_id
ORDER BY unix_timestamp(user_productivity.date_created) desc
| No | id (on table project_list) | name | comment | date_created |
|---|---|---|---|---|
| 1 | 5 | A | p5.task2 | 2021-09-28 13:44:19 |
| 2 | 6 | B | p6.task2 | 2021-09-28 13:45:19 |
| 3 | 7 | C | p7.task2 | 2021-09-28 13:46:19 |
| 4 | 8 | D | p8.task2 | 2021-09-28 13:47:19 |
| 5 | 5 | A | p8.task1 | 2021-09-28 13:43:19 |
| 6 | 6 | B | p7.task1 | 2021-09-28 13:42:19 |
| 7 | 7 | C | p6.task1 | 2021-09-28 13:41:19 |
| 8 | 8 | D | p5.task1 | 2021-09-28 13:40:19 |
| 9 | 9 | E |
结果是“评论”已解决,但组 ID 显示所有查询
我想要的结果:
| No | id (on table project_list) | name | comment | date_created |
|---|---|---|---|---|
| 1 | 5 | A | p5.task2 | 2021-09-28 13:44:19 |
| 2 | 6 | B | p6.task2 | 2021-09-28 13:45:19 |
| 3 | 7 | C | p7.task2 | 2021-09-28 13:46:19 |
| 4 | 8 | D | p8.task2 | 2021-09-28 13:47:19 |
| 5 | 9 | E |
【问题讨论】:
-
您希望使用左连接而不是内连接来保留 project_list 中在 project_list 中没有匹配记录的记录。
-
好的,很好。左连接解决了。
-
如何在该条件下显示“评论”?我希望 'comment' 仅按 'date_created' 的顺序显示
-
SELECT project_list.id, project_list.name, user_productivity.project_id, user_productivity.comment, user_productivity.date_created FROM project_list INNER JOIN user_productivity ON project_list.id = user_productivity.project_id GROUP BY project_list.id
-
请通过编辑为您的问题添加所有说明
标签: mysql