使用子查询访问SQL JOIN

托比

有人可以告诉我如何将该查询转换为可在MS Access中使用吗?

SELECT Shooters.idShooters, Shooters.firstname, Shooters.lastname, JoinedContingent.Count, JoinedShots.Count 
FROM Shooters 
INNER JOIN 
          (SELECT Shooters.idShooters, Count(Contingent.idContingent) AS Count
           FROM Shooters LEFT JOIN Contingent ON Shooters.idShooters = Contingent.fidShooter
           GROUP BY Shooters.idShooters) 
AS JoinedContingent ON JoinedContingent.idShooters = Shooters.idShooters 
INNER JOIN 
          (SELECT Shooters.idShooters, Count(Shots.idShots) AS Count
           FROM Shooters LEFT JOIN Shots ON Shooters.idShooters = Shots.fidShooters
           GROUP BY Shooters.idShooters) 
AS JoinedShots ON JoinedShots.idShooters = Shooters.idShooters;

背景资料:

我想计算ShooterContingent和中每个外键的出现次数Shots结果应如下所示:

  idShooters  |  firstname  |  lastname  |  Count  | Count
____________________________________________________________
      1            John          Doe          0       10
      2            Jane          Doe          1       20
      .
      .
      .
戈登·利诺夫

我认为这是您想要的:

SELECT s.idShooters, s.firstname, s.lastname,
        NZ(c.Count, 0), NZ(sh.Count, 0)
FROM (Shooters as s LEFT JOIN 
      (SELECT c.fidShooter, Count(*) AS Count
       FROM Contingent as c
       GROUP BY c.fidShooter
      ) as c
      ON s.idShooters = c.fidShooter
     ) LEFT JOIN
     (SELECT sh.fidShooters, Count(*) AS Count
      FROM Shots as sh
      GROUP BY sh.fidShooters 
     ) as sh
     ON s.idShooters = sh.fidShooters;

请注意,我将外部联接移到了外部查询。实际上,子查询中不需要连接,因此不必理会。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JOIN的SQL子查询

来自分类Dev

SQL子查询或JOIN

来自分类Dev

SQL Join vs子查询

来自分类Dev

使用ON或JOIN的SQL查询

来自分类Dev

使用Join的Sql Not IN查询

来自分类Dev

使用子查询加速JOIN

来自分类Dev

SQL JOIN:帮助使用基于联接的子查询

来自分类Dev

如何在SQL中使用JOIN编写子查询

来自分类Dev

SQL多个JOIN或子查询,但避免使用笛卡尔积

来自分类Dev

使用SQL子查询或JOIN子句进行选择

来自分类Dev

使用JOIN的SQL UPDATE查询

来自分类Dev

多个INNER JOIN子查询sql

来自分类Dev

SQL JOIN多个表和子查询

来自分类Dev

子查询 SQL 中的 INNER JOIN

来自分类Dev

MySQL子查询JOIN

来自分类Dev

Mysql JOIN子查询

来自分类Dev

如何使用JOIN代替子查询(NOT IN)

来自分类Dev

使用子查询语法的LEFT OUTER JOIN

来自分类Dev

如何使用JOIN代替子查询(NOT IN)

来自分类Dev

JPQL:在子查询的JOIN中访问外部属性

来自分类Dev

LEFT JOIN 与子查询并访问 select 子句中的主表列

来自分类Dev

SQL查询:join

来自分类Dev

我如何使用Join而不是子查询进行后续查询?

来自分类Dev

如何使用带有子查询的join优化查询?

来自分类Dev

使用 Join 将子查询转换为查询

来自分类Dev

如何使用Join编写等效的SQL查询?

来自分类Dev

使用JOIN进行复杂的SQL查询

来自分类Dev

如何使用SQL LEFT JOIN查询

来自分类Dev

如何使用SQL LEFT JOIN查询