2013-10-24 53 views
0

我有以下代码:MYSQL INSERT INTO SELECT语句无效使用组功能的

select c.nome,(p.nome) as ultimo_produto 
from cliente c 
inner join compra cp on (c.cod_cli = cp.fk_cli) 
inner join produto p on(cp.fk_pod=p.cod_pro) 
where datc >=max(cp.datc) 
group by c.nome; 

希望得到客户的名字和他买的最后一个产品的名称,但错误的无效使用组功能

+0

什么是'datc'在'where datc> = max(cp.datc)'..?我认为它可能是'c.datc' –

+0

在where子句中不能使用'max'。这就是这个错误的含义。 –

回答

0
select c.nome, p.nome as ultimo_produto 
from cliente c 
inner join compra cp on (c.cod_cli = cp.fk_cli) 
inner join produto p on (cp.fk_pod=p.cod_pro) 
inner join 
(
    select cod_pro, max(datc) as mdatc 
    from produto 
    group by cod_pro 
) x on x.cod_pro = p.cod_pro and x.mdatc = p.datc 
group by c.nome