以下是我正在使用的数据库的架构 - [编辑]
我正在尝试为2个不同的结果集提出2个不同的查询 -
managerId
我对第一个查询感到满意;这就是我提出的:
SELECT
SUM(`products`.`cost`) AS `Sale`
, `employees`.`firstName`
FROM
`d2dpro`.`sales_reps`
, `d2dpro`.`products`
INNER JOIN `d2dpro`.`employees`
ON (`sales_reps`.`employeeId` = `employees`.`employeeId`)
INNER JOIN `d2dpro`.`sold_products`
ON (`products`.`productId` = `sold_products`.`productId`)
INNER JOIN `d2dpro`.`sales`
ON (`sold_products`.`saleId` = `sales`.`saleId`) AND (`sales`.`salesCampId` = `sales_reps`.`saleCampId`)
GROUP BY `employees`.`firstName`;
通过此查询,我遇到了这个错误:
Error Code: 1054
Unknown column 'sales_reps.saleCampId' in 'on clause'
对此查询有何帮助?还有第二个?
答案 0 :(得分:0)
您正在使用一个表(sales_reps)与表employees,sold_products和sales的INNER JOIN进行CROSS JOIN。为了能够在该JOIN中引用sales_reps,您应该将其包含为内连接:( FROM子句应该如下所示)
FROM `d2dpro`.`products`
INNER JOIN `d2dpro`.`employees`
ON (`sales_reps`.`employeeId` = `employees`.`employeeId`)
INNER JOIN `d2dpro`.`sold_products`
ON (`products`.`productId` = `sold_products`.`productId`)
INNER JOIN `d2dpro`.`sales`
ON (`sold_products`.`saleId` = `sales`.`saleId`)
INNER JOIN `d2dpro`.`sales_reps`
ON (`sales`.`salesCampId` = `sales_reps`.`saleCampId`)