【发布时间】:2015-02-14 09:39:54
【问题描述】:
SELECT
E.`employee_id`,
E.`full_name`,
LE.`no_of_leaves` AS AllocatedLeaves,
MLLT.`leave_type` AS LeaveTypeName,
(SELECT COUNT(*) FROM leave_approval WHERE employee_id = 1 AND MONTH(approval_date) = 11 GROUP BY approval_date) AS TotalLeavesTaken,
LE.`no_of_leaves` - TotalLeavesTaken AS Balance
FROM employee E
INNER JOIN leave_entitlement LE
ON E.`employee_id` = LE.`employee_id`
INNER JOIN `ml_leave_type` MLLT
ON MLLT.`ml_leave_type_id` = LE.`ml_leave_type_id`
LEFT JOIN leave_approval LA
ON E.`employee_id` = LA.`employee_id`
LEFT JOIN leave_application LAPP
ON LAPP.`application_id` = LA.`leave_application_id`
LEFT JOIN ml_leave_type MLLTLA
ON MLLTLA.`ml_leave_type_id` = LAPP.`ml_leave_type_id`
Error Code: 1054
Unknown column 'TotalLeavesTaken' in 'field list'
这是我尝试做的,但出错了..
LE.`no_of_leaves` - TotalLeavesTaken AS Balance
我不擅长数据库,我必须从另一个字段中减去一个字段,第一个字段没问题,但第二个字段是作为子查询生成的。我不想再次运行子查询,是否有可能在不再次使用子查询的情况下进行减法??
【问题讨论】:
标签: mysql sql select count group-by