mysql 如何通过SQL使用用户ID创建视图以显示来自不同项目表的项目数

dgjrabp2  于 5个月前  发布在  Mysql
关注(0)|答案(1)|浏览(76)

我有三个表,保存数据集,项目,集成链接。这三个表使用用户ID链接的项目与登录的用户如下图:enter image description here
我想创建视图来显示与用户ID相关的项目的数量,如下所示:
| 用户id|数据集|项目|集成|
| --|--|--|--|
| 123 | 2 | 5 | 3 |
我想创建SQL来使用它来创建显示这些结果的视图。

yks3o0rb

yks3o0rb1#

我发现最好的解决方案是使用简单的SQL语句来选择登录的用户,当用户ID匹配时,合并与每个表中的选择语句结合,以给予所需的结果。

select u.id, 
   (select count(md.id) from my_datasets md where md.user_id = u.id) datasets,
   (select count(ps.id) from projects ps where ps.user_id = u.id) projects,
   (select count(mp.model_id) from model_profile mp where mp.user_id = u.id) models from User u

字符串
当我使用左连接或连接运算符时,我得到了重复的结果。

相关问题