来自同一 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 上打开的 )
。
我需要查询 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 上打开的 )
。