2016-03-23 16 views
1

2つのテーブルをリンクさせようとしているので、次のデータを取得できます。しかし、私が得るのは、すべての合計が最初の人物に追加され、それ以外の人物には追加されません。それは内部結合の3つの列の合計

pid firstname nid Total 
18 Teresa  3 65846.50 
18 Richard 1 3005.00 
18 Camdon  7 2000.00 

下回っザ・が作品に参加しないが、合計はGROUP BYが必要とされ、正しく

SELECT 
    notarys.pid, 
    notarys.firstname, 
    notarys.nid, 
    SUM(
    signings.samount+ 
    signings.prtamount+ 
    signings.faxamount 
    )AS Total 
    FROM 
     notarys 
    INNER JOIN signings ON notarys.nid = signings.nid 
    WHERE 
     signings.pid = signings.pid 
    AND signings.done = 1 
    ORDER BY 
    notarys.nid ASC 
+0

とどのPHPコードです?あなたの記事を更新して、PHPのコードを追加しますので、私たちはより深いあなたは 'GROUP BY'何かする必要があり – Rhopercy

+0

あなたを助けることができますしてください。あなたの構造に関するもう少し情報がないとどういうことは本当に明確ではありません。たぶん 'GROUP BY notarys.nid'。 –

+0

質問を追加する質問を更新することをお勧めします – fusion3k

答えて

0

が動作していないよう それはなっているはずです。

SELECT 
    notarys.pid, 
    notarys.firstname, 
    notarys.nid, 
    SUM(
    signings.samount+ 
    signings.prtamount+ 
    signings.faxamount 
    )AS Total 
FROM 
    notarys 
INNER JOIN signings ON notarys.nid = signings.nid 
WHERE 
    signings.pid = signings.pid 
AND signings.done = 1 
GROUP BY notarys.nid, notarys.pid 
ORDER BY notarys.nid ASC 
+0

ありがとうございました –

関連する問題