SQL查询联接多个表

尴尬的

我需要连接4个表才能获取所需的报告。但是我对如何编写查询感到困惑。以下是表格示例:

客户表

client_id  |  client_name  |  con_id
----------:|:-------------:|:-------
    1      |     ABC       |  1
    2      |     DEF       |  1
    3      |     GHI       |  2

顾问

con_id  |  con_name
-------:|:---------
   1    |    Ani
   2    |   Robby

烫发

pid  |  client_id  |  date
----:|:-----------:|:-----------
 1   |      1      |  2014-08-09
 2   |      1      |  2014-03-02
 3   |      2      |  2014-03-02 

温度

tid  |  client_id  |  date
----:|:-----------:|:-----------
 1   |     2       |  2013-02-09
 2   |     3       |  2011-03-02
 3   |     3       |  2012-04-02 

我要显示的报告的最终结果是这样的:

client_id  |  client_name  |  perm(COUNT)  |  temp(COUNT)  |  con_name
----------:|:-------------:|:-------------:|:-------------:|:---------
    1      |       ABC     |       2       |         0     |    Ani
    2      |       DEF     |       1       |         1     |    Ani
    3      |       GHI     |       0       |         2     |    Robby

我正在尝试使用LEFT OUTER JOIN,但没有得到想要的结果。谁能帮我找出疑问?提前致谢。

哈里德·朱奈德(M Khalid Junaid)

这是一个简单的外部联接查询,具有count和group by,只需将您的client表与相关的联接并仅对不同的关联进行计数

select 
c.client_id,
c.client_name,
count(distinct p.pid) perm_count,
count(distinct t.tid) temp_count,
cn.con_name
from client c
left join Consultant cn on(c.con_id = cn.con_id)
left join Perm p on(c.client_id = p.client_id)
left join `Temp` t on(c.client_id = t.client_id)
group by c.client_id 

Fiddle Demo

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL查询多个表,具有多个联接和带有逗号分隔列表的列字段

来自分类Dev

通过多个联接优化SQL查询

来自分类Dev

sql联接如何联接多个表

来自分类Dev

来自联接查询的sql更新表

来自分类Dev

用查询SQL联接3个表

来自分类Dev

SQL表联接查询

来自分类Dev

MySQL查询帮助请联接多个表

来自分类Dev

SQL查询联接四个表

来自分类Dev

SQL查询,联接两个表

来自分类Dev

哪里将联接多个表的SQL查询放在哪里?

来自分类Dev

对LINQ C#的SQL查询[联接多个表]

来自分类Dev

SQL查询出多个联接表数据

来自分类Dev

SQL查询-多个内部联接

来自分类Dev

在多个实例中的SQL查询联接

来自分类Dev

SQL查询-完全联接多个表,但返回NULL结果

来自分类Dev

在SQL查询中联接表以进行搜索

来自分类Dev

SQL查询与临时表的内部联接

来自分类Dev

PHP查询以联接多个表行

来自分类Dev

通过联接表进行复杂的SQL查询

来自分类Dev

多个表的SCCM SQL查询联接

来自分类Dev

使用左联接在多个表上优化SQL查询

来自分类Dev

如何改进具有多个联接和子查询的表上的摘要SQL?

来自分类Dev

sql查询联接条件与联接表

来自分类Dev

SQL联接多个表

来自分类Dev

SQL从列名与多个表不匹配的联接或子查询中排除结果

来自分类Dev

对LINQ C#的SQL查询[联接多个表]

来自分类Dev

来自多个表的SQL查询-联接不起作用

来自分类Dev

如何在SQL查询中提高多个联接表的性能

来自分类Dev

查询多个SQL表