Mysql子查询作为查询字段,且查询结果起别名,在后续查询中引用别名进行计算。

公司最近在做一个财务统计的模块。需要统计多个项目的回款金额,以及未回款金额。(回款需要申请以及审核,只有审核通过的回款才作为计算)
有如下数据库表:
    1.company_project_item 项目表
    关键字段:
    proejct_no 项目编号
    project_name 项目名称
    project_contract_amount 项目合同金额(应总回款金额)
    2.company_money_back   项目回款表
    关键字段:
    money 每次回款的金额
    3.company_todo_list    待办事项表(即接收各个模块的申请,用于审核,比如:回款,请假)  
    关键字段:
    flow_status 审核状态 ( 1为审核通过 )
sql语句组织思路:
    首先想到的是以company_project_item为查询主表,使用子查询作为查询字段,将company_money_back中审核通过的回款金额sum()出总回款金额,然后将项目需要回款金额-已回款金额。
尝试sql语句(错误)如下:

Mysql子查询作为查询字段,且查询结果起别名,在后续查询中引用别名进行计算。

sql执行结果:total_money_back字段不存在。就是说起别名的字段,无法在接下来的查询字段中被引用。具体可参考mysql语句执行顺序,这里不再赘述。
正确sql语句如下:

Mysql子查询作为查询字段,且查询结果起别名,在后续查询中引用别名进行计算。

可参考连接:https://stackoverflow.com/questions/6081436/how-to-alias-a-field-or-column-in-mysql

相关推荐