Php 如何在查询中求别名字段的和
下面我有一个问题Php 如何在查询中求别名字段的和,php,mysql,sql,join,Php,Mysql,Sql,Join,下面我有一个问题 SELECT s.reference_no as rno , a.id, a.product_name, a.sale_id, s.id as sale, count(CASE WHEN b.id = 1 THEN b.name ELSE NULL END) as tax1, count(CASE WHEN b.id = 2 THEN b.name ELSE NULL END) tax2, count(CASE WHEN b.i
SELECT s.reference_no as rno , a.id, a.product_name, a.sale_id, s.id as sale,
count(CASE WHEN b.id = 1 THEN b.name ELSE NULL END) as tax1,
count(CASE WHEN b.id = 2 THEN b.name ELSE NULL END) tax2,
count(CASE WHEN b.id = 3 THEN b.name ELSE NULL END) tax3,
count(CASE WHEN b.id = 4 THEN b.name ELSE NULL END) tax4,
count(CASE WHEN b.id = 5 THEN b.name ELSE NULL END) tax5,
sum(CASE WHEN b.id = 1 THEN a.val_tax ELSE NULL END) sum1,
sum(CASE WHEN b.id = 2 THEN a.val_tax ELSE NULL END) sum2,
sum(CASE WHEN b.id = 3 THEN a.val_tax ELSE NULL END) sum3,
sum(CASE WHEN b.id = 4 THEN a.val_tax ELSE NULL END) sum4,
sum(CASE WHEN b.id = 5 THEN a.val_tax ELSE NULL END) sum5
FROM sale_items a
INNER JOIN tax_rates b
ON a.tax_rate_id = b.id
JOIN sales s ON s.id = a.sale_id
GROUP BY s.id
order BY sale desc
我想要额外的总税(sum1+sum2+sum3+sum4+sum5)。但当我尝试它时,在“字段列表”中抛出一个错误未知列“total_tax_sum1”。那么如何汇总别名字段。您可以找到我的三表数据库模式您不能在定义别名的
选择中使用别名。简单地做:
sum(case when b.id in (1, 2, 3, 4, 5) then a.val_tax end) as grandtotal_tax
请注意,else NULL
是多余的,因为NULL
是在case
语句中没有匹配项时的值
此外,如果b.id
只能采用这五个值,则可以简化为:
sum(a.val_tax) as grandtotal_tax