最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

多表左连接

IT培训 admin 5浏览 0评论

多表左连接

我正在尝试找出一个SQL查询来同时从多个表中提取数据。我有一张公司名单的表格。我还有两个包含每个公司通信的表。目前,我循环遍历每个公司行,然后对每个通信表执行查询。我尝试了一个类似的查询:

SELECT c.*, 
       count(e.id) AS ecount, 
       count(p.id) AS pcount 
FROM companies c 
LEFT JOIN emails e 
  ON c.id = epany 
LEFT JOIN push p 
  ON c.id = ppany

但此查询的结果只包含一个公司,没有计数。我该如何完成此查询?

回答如下:
SELECT c.*, 
       (SELECT COUNT(e.id) FROM emails e WHERE epany = c.id) as ecount,
       (SELECT COUNT(p.id) FROM push p   WHERE ppany = c.id) as pcount 
FROM companies c 

多表左连接

我正在尝试找出一个SQL查询来同时从多个表中提取数据。我有一张公司名单的表格。我还有两个包含每个公司通信的表。目前,我循环遍历每个公司行,然后对每个通信表执行查询。我尝试了一个类似的查询:

SELECT c.*, 
       count(e.id) AS ecount, 
       count(p.id) AS pcount 
FROM companies c 
LEFT JOIN emails e 
  ON c.id = epany 
LEFT JOIN push p 
  ON c.id = ppany

但此查询的结果只包含一个公司,没有计数。我该如何完成此查询?

回答如下:
SELECT c.*, 
       (SELECT COUNT(e.id) FROM emails e WHERE epany = c.id) as ecount,
       (SELECT COUNT(p.id) FROM push p   WHERE ppany = c.id) as pcount 
FROM companies c 

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论