2016-12-15 5 views
3

Я хочу связать с таблицей (сумма (PRECO) и имя от клиента)SQL группы 2 разные таблицы

SELECT SUM(ARTIGO.PRECO) AS SUM_PRECO , CLIENTE.NOME_P 
FROM CLIENTE 
INNER JOIN ARTIGO 
ON ARTIGO.ID IN 
    (SELECT ARTIGO_ID FROM PERTENCERV2 WHERE COMPRACLIENTE_ID IN 
     (SELECT ID FROM COMPRACLIENTE WHERE CLIENTE_ID IN 
      (SELECT ID FROM CLIENTE))) 
WHERE CLIENTE.ID IN 
    (SELECT CLIENTE_ID FROM COMPRACLIENTE WHERE ID IN 
     (SELECT COMPRACLIENTE_ID FROM PERTENCERV2 WHERE ARTIGO_ID IN 
      (SELECT ID FROM ARTIGO))) 
GROUP BY CLIENTE.NOME_P; 

но результат кода выше

SUM_PRECO NOME_P    
    39 Joaquim    
    39 José     

и '39 "это сумма от всех цен как я могу выделить счет 2 клиентов

i added this image hope it can help understand

+0

Просьба разместить структуру таблицы в идеале с образцами данных. Должен быть более простой способ сделать это. –

+0

Есть короткий ярлык между таблицей artigo и cliente? –

+0

@JoeTaras i.stack.imgur.com/BPTFL.png, это путь между artigo и cliente – props

ответ

2

Вы должны связать ARTIGO и CLIENTE таблиц с JOIN и, с вашего изображения (пожалуйста, в следующий раз положить структуру таблицы здесь без изображения) запрос будет следующим:

Попробуйте это:

SELECT SUM(a.preco) AS sum_preco , c.nome_p 
FROM cliente c 
JOIN compracliente cc 
    ON c.id = cc.cliente_id 
JOIN pertencerv2 p 
    ON p.compracliente_id = cc.id 
JOIN artigo a 
    ON a.id = p.artigo_id 
GROUP BY c.nome_p 

Скажи если это нормально

+0

вот и все, спасибо человеку – props

Смежные вопросы