我要么变老了,要么我需要写的查询变得越来越复杂.以下查询将获得tasks与用户关联的所有内容.
"SELECT `date`
FROM `tasks`
WHERE `user_id`= 1;"
Run Code Online (Sandbox Code Playgroud)
该tasks表为(id,date,user_id,url_id);
现在,我需要获得url_id与用户关联的记录
`urls` table (`id`, `user_id`)
Run Code Online (Sandbox Code Playgroud)
独立查询看起来像这样:
"SELECT `t1`.`data`
FROM `tasks` `t1`
JOIN `urls` `u1` ON `u1`.`id` = `t1`.`url_id`
WHERE `u1`.user_id` = 1;"
Run Code Online (Sandbox Code Playgroud)
但是,是否可以将这两个查询合并为一个查询?我的逻辑说它应该是,虽然我不知道如何做实际的JOIN.
我可能会使用UNION.
SELECT `date`
FROM `tasks` WHERE `user_id`=1
UNION
SELECT `t1`.`date`
FROM `tasks` `t1`
INNER JOIN `urls` `u1` ON `u1`.`id` = `t1`.`url_id`
WHERE `u1`.user_id`=1;
Run Code Online (Sandbox Code Playgroud)