2013-10-24 4 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> = max (cp.datc)'..의'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