2012-01-17 139 views
0
SELECT Projects.Projectid, Projects.ProjectNumber, Projects.ProjectName, 
     Projects.ProjectBudgetedIS, Projects.ProjectSpentIS, 
     Projects.ProjectBudgetedBusiness, Projects.PorjectSpentBusiness, Project.Status, 
     ProjectStatus.Status AS Expr1 

FROM Projects 
    INNER JOIN ProjectStatus ON Projects.Status = ProjectStatus.StatusID 
WHERE Projects.Status = @Status 

所以我想要做的是採取其中有一個字段名爲ISorBusiness表稱爲發票的金額和現場叫totalspent和數據存儲到在項目TABEL適當的領域。因此,當我收到一張向IS收取的發票時,需要支付這筆金額並將其匯入Projects.ProjectSpentIS,如果我收到一張發票​​給業務部門,它會將其發送到Projects.ProjectBudgetedBusinessSQL SELECT和關閉兩個where子句

我知道這應該很容易,並且對於不問問題抱歉。提前致謝!

+0

您確實需要存儲彙總數據嗎?這需要很多資源嗎?像這樣存儲數據是違反規範化的做法,並且_ will_咬你很快。你似乎也聲稱要將它推入可能是錯誤的領域(不應該是「ProjectSpentBusiness」)。就個人而言,我想稍微重構一下設計,所以我不僅限於2類(即使我只使用2類)。 – 2012-01-17 17:13:36

回答

2

我會做這樣的事情:

SELECT SUM(CASE WHEN (IsOrBusiness = 'IS') THEN totalSpent ELSE 0 END) AS IsSpent, 
     SUM(CASE WHEN (IsOrBusiness = 'Business') THEN totalSpent ELSE 0 END) AS BusinessSpent 
FROM Invoices 

顯然,使用取決於你是否試圖寫一個插入查詢或選擇該數據爲您發佈的select查詢的一部分。

+0

謝謝!那很棒! – jerad 2012-01-18 19:28:53