2017-03-03 4 views
0

なぜこのクエリは私に正しい合計を与えていないのですか?異なるフィールドのブール値に応じて、SELECTステートメントのMySQLの複数の合計

 Select H.AccountNo,IF(G.Credit=0,SUM(F.Charge),NULL) AS Debits,IF(G.Credit=1,SUM(F.Charge),NULL) AS Credits 
    from transdetails F 
     left join transhead G on F.Transhead=G.Seqno 
     left join Accounts H on H.SeqNo=G.Account 
    Group by H.AccountNo 

私は彼らの費用だけでなく、単一のライン上の支払いの両方でアカウントを一覧表示しようとしていますし、費用と支払いの唯一の違いは、ブールまだ1または0

のいずれかであるフィールドクレジットで私はクレジットが0

H.Accounts Debits  Credits 
    000221  131.00  NULL 
    000222  287.70  NULL 
    000223  70980.20 NULL 
    000224  13280.42 NULL 
+0

サンプルデータと結果を提供して、意味がわからないようにします。 。 。 –

+0

@ Gordon Linoffアカウント000223の支払いがあることを知っているので、正しい値をまだ与えていないので、クレジットは0にできません。 'H.Accounts Debitsクレジット000221 131.00 NULL 000222 287.70 NULL 000223 70980.20 NULL 000224 13280.42 NULL ' –

答えて

1

が、この代わりに

を試してみてくださいすることはできませんこのように、アカウント000223の支払いがあることを知っているので、私に正しい値を与えていません
+0

素晴らしい!ありがとう!! –

関連する問題