我正在開發一個php/mysql數據庫。我有兩張桌子 - 事情和行動。 在其他領域中,事項表包含'事件''fixedfee'和'費用'。固定費用是Y或N,費用可以是任何數字。MySQL SUM()給出不正確的總數
對於任何事情都可以有一些行動。動作表中包含'actionid''事件''advicetime''advicefee'。建議時間是建議的持續時間(十進制格式),advicefee是一個數字。因此,爲了解決我使用SUM(advicetime * advicefee)的建議的成本。
我想要做的就是在'fixedfee'= Y時加上所有'費用'值,並且也是所有這些事情的所有SUM(advicetime * advicefee)值的總和。
我已經嘗試使用:
SELECT
SUM(matters.fee) AS totfixed,
SUM(advicetime*advicefee) AS totbills,
FROM matters
INNER JOIN actions
ON matters.matterid = actions.matterid
WHERE fixedfee = 'Y'
但是這並不爲(我認爲),它的工作是增加了matters.fee爲每次有一個動作。我自己也嘗試使其
SUM(DISTINCT matters.fee) AS totfixed
但是這並不因爲我認爲這似乎缺少了任何相同的費用(和存在具有相同的固定費若干事項)工作。
我對此很新,所以任何幫助都會非常受歡迎。
您能否在http://sqlfiddle.com/上提供您的問題和期望輸出的工作示例? – Havenard 2015-03-31 23:19:04
先選擇'matters.fee'列,看看它是否有正確的數據。 – zerkms 2015-03-31 23:21:08
固定費用只應收取一次費用,無論有多少行爲是針對此事的? – 2015-03-31 23:25:16