私の挑戦は次のとおりです。SUM値を含む2つの異なるテーブルから値をとる非常に単純なSQLクエリがあります。次のように左の結合を使用した場合のMYSQLクエリの単純な問題
表1(treatments
)は次のとおりです。
MedicineDescription | InitAmount | Cost
Mybulen | 90 | 194
表2(treatmentrecords
)は次のとおりです。
Treatment | AmountGiven
Mybulen | 60
私のSQLクエリ:
SELECT t.MedicineDescription
, SUM(t.initAMount) startAmount
, SUM(r.AmountGiven) endAmount
, SUM(t.Cost) tCost
FROM treatments t
LEFT
JOIN treatmentrecords r
ON r.Treatment = t.MedicineDescription
GROUP
BY MedicineDescription
、最後に。 ..結果:
MedicineDescription | StartAmount | EndAmount | tCost
Mybulen | 90 | 180.00 | 194
開始量とtcostの両方が完全に計算されていることがわかりますが、EndAmountに対して返されたSUMが正しくないという問題があります。
アイデアをお寄せください!
この結果は複製できません。 https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-queryを参照してください。 – Strawberry
選択を検出したレコードの数を示すためにカウント(*)を追加します。 –
これをチェックしてくださいhttp://sqlfiddle.com/#!9/304ec4/1 – KMS