嗨,我可能过于复杂化我的代码,所以寻找一个更好的方法。Transact SQL 2总结1查询使用案例
我有发票表,我比较我在寻找一个简单的SQL语句,将看日期2个日期范围是在范围1添加到别的ordertotal1如果日期范围为2加入ordertotal2
这是我尝试
SELECT CUST_CODE,
CASE
WHEN ORDER_DATE >= CONVERT(DATETIME, '2011-01-01 00:00:00', 102) AND ORDER_DATE <= CONVERT(DATETIME, '2011-07-31 23:59:59', 102) THEN SUM(INV_AMOUNT) AS OrderTotal, SUM(PAID_AMT) AS paidTotal
WHEN ORDER_DATE >= CONVERT(DATETIME, '2012-01-01 00:00:00', 102) AND ORDER_DATE <= CONVERT(DATETIME, '2012-07-31 23:59:59', 102) THEN SUM(INV_AMOUNT) AS OrderTotal2, SUM(PAID_AMT) AS paidTotal2
END
FROM INVOICES
WHERE (STATUS = 9)
GROUP BY CUST_CODE
当然这是真的错了,并引发了很多的错误, 我想我注定要在我的PHP运行几个查询来实现它,但我真的不确定我记得过去做过类似上面的事情。
仅供参考:在windows 2.2上运行php 5 Mssql 2000(不是由选择)在apache 2.2上。
感谢所有帮助提供
'SUM(PAID_AMT)和'SUM(PAID_AMT)AS paidTotal2'是相同的。为什么让他们两次? – Farhan
@MuhammadGhazi你是对的,我刚刚删除它。我只是复制了最初的请求,却没有意识到它们是一样的。 – Taryn
@bluefeet谢谢你是真棒我已经撞了我的头反对键盘几个小时,知道它可能大声笑:) – deccypher