2016-12-15 9 views
3

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、これは芸術家とクライアントの間の道です – props

答えて

2

あなたは(してください次回プット構造テーブルのため、ここでの画像なし)クエリは次のようになり、あなたのイメージから、JOINをしてARTIGOCLIENTEテーブルをリンクする必要があります教えてください

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 

これを試してみてくださいOKなら

+0

それは、ありがとう – props

関連する問題