嗨,我可能会使我的代码过于复杂,因此正在寻找更好的方法。
我有一个发票表,我正在比较 2 个日期范围我正在寻找一个简单的 sql 语句,它将查看日期在范围 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 的 apache 2.2 上运行 php 5 Mssql 2000(不是选择)。
感谢您提供的任何帮助