MySQL:在另一个内部选择中访问内部选择表别名

标签 mysql sql

我看到一些相关帖子尝试修改示例以适合我的情况,但无法做到。

我有 3 个表:ABC,其中包含数百万条记录。

我希望能够:

  1. 过滤A表的部分记录。

  2. 然后,在过滤后的表上,根据两个表中的共享列将其与 B 表连接起来,再次对其进行过滤。

  3. 然后,在过滤后的表上,根据两个表中的共享列将其与 C 表连接,从而进一步过滤它

  4. 计算c表上的记录数量。

我尝试的是:

select count(*) from 
    (select  A.exmp_column from A where A.insert_date BETWEEN '2018-03-28 00:10:38' and '2018-03-29 00:10:38') as a,

    (select * from B where a.shared_column = B.shared_column) as b,

    (select * from C where b.shared_column = C.shared_column) as c;

但似乎我无法在内部选择中使用别名 ab ..我怎样才能实现我需要的?

抱歉,如果我的术语不正确,我是 SQL 新手。 谢谢

最佳答案

这是你想要的吗?

select count(*) 
from A
inner join B on A.shared_column = B.shared_column
inner join C on B.shared_column = C.shared_column
where A.insert_date BETWEEN '2018-03-28 00:10:38' and '2018-03-29 00:10:38'

关于MySQL:在另一个内部选择中访问内部选择表别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50468818/

相关文章:

具有复杂条件的 SQL 子查询

sql - 如何在oracle sql中找到<N>个连续的销售奖金

SQL Server 日期时间格式

c++ - 什么是从 visual c++ 到 sql 的好 api

MYSQL使用count函数进行查询

php - 当名称存在时使用 HTML 数据库中的 SUM 数字,如果不添加新列

MySQL 连接 : Multiple fields same name

php - 从mysql表中获取记录的问题

Mysql限制子查询不是主体查询

PHP MYSQL日期邮件提醒