如何在SQL中联接3个表

如何在SQL中联接3个表,sql,count,sum,left-join,Sql,Count,Sum,Left Join,我有三张桌子: 表1 id | email ---+---------- 1 | a@a.com 2 | b@a.com 3 | c@a.com 4 | d@a.com 表2 order_id | email ---------+-------------- 1 | a@a.com 2 | a@a.com 3 | a@a.com 4 | c@a.

我有三张桌子:

表1

id | email
---+----------
1  |  a@a.com
2  |  b@a.com  
3  |  c@a.com 
4  |  d@a.com 
表2

order_id |   email    
---------+--------------
1        |   a@a.com       
2        |   a@a.com       
3        |   a@a.com       
4        |   c@a.com       
5        |   c@a.com       
6        |   b@a.com       
7        |   b@a.com       
表3

order_id |   sku    | qty
---------+----------+-----
1        |   sku1   | 1
2        |   sku1   | 2            
3        |   sku1   | 1            
4        |   sku2   | 3           
5        |   sku2   | 2            
6        |   sku2   | 6            
7        |   sku3   | 5           
我想把表1连接到表2和表3

获取表1和表3的所有行sku1+使用电子邮件按sku1计数数量+客户有“sku1”的计数订单

我想得到这样的结果:

id | email    | sku    | order    | orderqty
---+----------+--------+----------+--------------
1  |  a@a.com |  sku1  | 3        |   4
2  |  b@a.com |  sku1  | 3        |   5 
3  |  c@a.com |  sku1  | 1        |   6
4  |  d@a.com |  sku1  | null     |   null

有人能帮我吗?谢谢大家我想你需要
左加入
s和聚合:

select t1.id, t1.email, 'sku1' sku, count(distinct t2.order_id) cnt_order, sum(t3.qty) orderqty
from table1 t1
left join table2 t2 on t2.email = t1.email
left join table3 t3 on t3.order_id = t2.order_id and t3.sku = 'sku1'
group by t1.id, t1.email

为什么要将sku1用于id=4、电子邮件=d@a.com?我需要用order=0和orderqty=0显示这一行非常感谢,愉快的编码,这对我来说很有用