来自同一 table 的加入计数

join count from the same table

我需要查询 table 一些已开票、已收货、已调整的金额,但需要加入 table 以及提供服务的样本计数

我可以单独请求这个,但我想在一个数组中很好地得到结果

这是我认为可行的查询

SELECT ROUND(SUM(`amount_billed`/1000),2) AS `billed`,
ROUND(SUM(`amount_received`/1000),2) AS `received`, 
ROUND(SUM(`amount_adjusted`/1000),2) AS `adjustment` FROM `acs`.`billing` AS **`amount`**
INNER JOIN (SELECT COUNT(`accession_id`) AS `samples` FROM `acs`.`billing` AS **`count`** 
WHERE year(`count`.`date_billed`) = 2012 AND year(`count`.`date_paid`) = 2012
HAVING COUNT(`accession_id`) > 1) WHERE year(`amount`.`date_billed`) = 2012 AND year(`amount`.`date_paid`) = 2012;

但 MySQL returns 错误:

Error Code: 1248. Every derived table must have its own alias

我给所有 table 一个 select 查询 amount 和连接 count.

的别名

执行 SELECT COUNT(accession_id) AS samples 您正在为单个字段分配别名。

您需要为派生的 table 分配别名。你真的想念它。

尝试更新最后添加的查询:

) as table_b;

在你的分号之前或第二个查询结束的地方(现在阅读查询还不清楚,因为你错过了关闭在 inner_join 上打开的 )