回答

收藏

合并两个SELECT查询

技术问答 技术问答 264 人阅读 | 0 人回复 | 2023-09-14

我要么变老,要么我需要写的查询变得越来越复杂。以下查询将获得tasks与该用户的所有关联。) ^& v, s. C# O, i
"SELECT `date`    FROM `tasks`   WHERE `user_id`= 1;"该tasks表为(id,date,user_id,url_id);) n; O1 }  e, M; a& A3 f7 Z
现在,我还需要url_id通过" ^9 g* N5 f0 N# a* F
`urls` table (`id`,`user_id`)独立查询如下:
* s$ D" S1 g' E! h9 C! C"SELECT `t1`.`data`    FROM `tasks` `t1`    JOIN `urls` `u1` ON `u1`.`id` = `t1`.`url_id`   WHERE `u1`.user_id` = 1;"但是,这两个查询可以合并为一个查询吗?我的逻辑认为应该是这样,尽管我不知道如何实践它JOIN。
" B: `! g! D! e6 Z! q) O                                                                " S8 V& {0 ~; z" I. I
    解决方案:                                                               
2 @  t. c9 ^2 f1 a                                                                我可以用UNION。
% X9 t( M. z9 }* g  aSELECT `date`   FROM `tasks` WHERE `user_id`=1UNIONSELECT `t1`.`date`   FROM `tasks` `t1`   INNER JOIN `urls` `u1` ON `u1`.`id` = `t1`.`url_id`   WHERE `u1`.user_id`=1.
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则