2012-01-17 69 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