我有一个客户表和采购表,需要显示客户名称,客户表中带有max(customer_visits)的cid以及采购表中客户的total_purchases总和。我正在做这样的事情
select p.cid, c.cname, sum(p.total_price)
from customers c where exists
(select max(visits_made) from customers having visits_made=max(visits_made)
and cid=p.cid)
inner join purchases p on p.cid=c.cid
group by p.cid,c.cname
和
select p.cid, c.cname, sum(p.total_price)
(select max(visits_made) from customers c where c.cid=p.cid)
from purchases p
inner join customers c on c.cid=p.cid
group by p.cid,c.cname
这些查询出了什么问题?
找到了解决方案,在内部连接之后必须包含where子句:D
我认为这只是一个聚合查询:
select p.cid, c.cname, sum(p.total_price) as total_price,
max(visits_made) as visits_made
from purchases p inner join
customers c
on c.cid = p.cid
group by p.cid, c.cname;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句