Mysql SQL在子查询中引用别名

Mysql SQL在子查询中引用别名,mysql,sql,sum,subquery,having-clause,Mysql,Sql,Sum,Subquery,Having Clause,我想查询一个如下所示的表: 客户id、交易日期、收入 我试图创建一个表格,显示每个不同客户id的收入总和,但2014年才进行交易的客户除外 我的问题是: 选择DISTINCTcustomer\u id作为\u customer\u id,当从表中选择YEARtransaction\u date时求和,其中customer\u id=a\u customer\u id!='2014年的“其他收入0”根据“客户id订单”根据“收入说明”作为表组的“收入总额” 我收到的错误是未知列a\u custom

我想查询一个如下所示的表:

客户id、交易日期、收入

我试图创建一个表格,显示每个不同客户id的收入总和,但2014年才进行交易的客户除外

我的问题是:

选择DISTINCTcustomer\u id作为\u customer\u id,当从表中选择YEARtransaction\u date时求和,其中customer\u id=a\u customer\u id!='2014年的“其他收入0”根据“客户id订单”根据“收入说明”作为表组的“收入总额”

我收到的错误是未知列a\u customer\u id。
如何将子查询引用到第一个查询中创建的别名?

您的查询不是有效的SQL。根据您对问题的描述,您似乎需要聚合和having子句:


这将为您提供每个客户的总收入,同时筛选出仅在2014年有交易的客户。

子查询返回多个结果,这是您的sib查询无法工作的原因,此外,您不能在该位置使用别名
select customer_id, sum(income) sum_income
from mytable
group by customer_id
having max(year(transaction_date ) <> 2014) = 1