【发布时间】:2011-02-14 18:10:39
【问题描述】:
我想要实现的是关于日常金融交易的报告。通过我的 SQL 查询,我想计算现金交易的总数、现金总价值以及支票的总价值。我只想在指定日期执行此操作。
这是我遇到问题的查询的 sn-p。这些 sum 和 count 命令正在处理表中的所有数据,而不是针对所选日期。
(SELECT SUM(amount) FROM TRANSACTION WHERE payment_type.name = 'cash') AS total_cash,
(SELECT COUNT(*) FROM TRANSACTION WHERE payment_type.name = 'cash') AS total_cash_transactions
抱歉,我没有时间发布足够详细的信息。如果您需要更多信息,请询问..
干杯。
更新: 我已经发布了一些关于布局和结果的更多信息: www.conorhackett.com/sql/transaction.html
问题是当我加入 payment_table 时(所以我可以指定 payment_type_name 而不是 id)它会计算现金/支票的所有交易。日期限制似乎消失了。
任何帮助表示赞赏。
【问题讨论】:
-
"而不是选择的日期"...选择了哪个日期?
-
您查询的“WHERE transactionDate='2010-04-10”部分在哪里?我希望像'payment_type.name=... AND transactionDate=...'这样的东西
-
我不确定 mysql 是否这样做,但在 oracle 中对所有天进行求和,您可以对 transactionDate 进行 sum(X) 分区
-
你能发布
SHOW CREATE TABLE TRANSACTION的输出吗?