我有這個複雜(對我)的要求,並希望它的SQL查詢。這裏的交易:一個(稍微複雜的)SQL查詢?
- 有一個名爲「費用」在Access文件中的表。
- 該表格包含「類別」,「金額」,「付款人」和「IsShare」等字段。
- 類別可以是天然氣,雜貨,家庭等...
- 金額是費用的美元金額。
- 付款人可以是我或我的兄弟(「我」或「兄弟」)。
- IsShare可以是真或假。基本上,如果IsShare是真的,那麼費用分爲兩部分。否則,付款人付錢。
我需要一個SQL查詢來計算特定類別的所有費用。應當計算爲這樣:我已經支付的所有非共享項目(付款人=「我」和IsShare =假)的
- 100%,所有共享的項目,I」的
- 50% (Payer ='我'和IsShare = true),以及
- 我兄弟支付的所有共享項目的50%(Payer ='Bro'AND IsShare = true)。
該查詢應返回所有這三項的總和。
到目前爲止,我有一個初步的查詢,但它返回不正確的結果。有人能幫我糾正嗎?
非常感謝。
return @"SELECT Sum(Amount) AS TotalAmount " +
"FROM Expenses " +
"WHERE Category = 'Groceries' " +
"AND Payer = 'Me' " +
"AND Share = false " +
"GROUP BY Category " +
"UNION " +
"SELECT 0.5 * Sum(Amount) AS TotalAmount " +
"FROM Expenses " +
"WHERE Category = 'Groceries' " +
"AND Payer = 'Me' " +
"AND Share = true " +
"GROUP BY Category " +
"UNION " +
"SELECT 0.5 * Sum(Amount) AS TotalAmount " +
"FROM Expenses " +
"WHERE Category = 'Groceries' " +
"AND Payer = 'Bro' " +
"AND Share = true ";
"GROUP BY Category";
使用'UNION ALL',換一個。 – 2012-03-18 02:53:30
這是什麼數據庫引擎,SQL Server? – Brettski 2012-03-18 02:59:07
歡迎來到Stack Overflow Santa!我總是想提醒新用戶,提升和接受(複選標記)問題是表示讚賞的主要手段。如果您有任何問題,[常見問題]是一個很好的資源,尤其是[問] – 2012-03-18 03:03:36