考虑以下MySQL表:的MySQL JOIN和日期比较/操作
应用(包含所有应用程序的所有用户)
unique_id | user_id | date_of_application | date_ended | status
----------------------------------------------------------------------------
1 user_a 2010-09-09 2010-12-24 Ended
2 user_a 2011-03-03 2011-06-06 Ended
3 user_a 2011-08-08 2011-10-10 Ended
4 user_b 2011-10-01 Active
* ITEM_TRANSACTIONS *(包含所有用户的所有项目交易)
user_id | item_id | quantity_ordered | date_requested | date_received
----------------------------------------------------------------------------
user_a item_a 20 2011-10-01 2011-10-02
user_a item_b 10 2011-10-01 2011-10-02
user_b item_a 30 2011-10-05 2011-10-10
user_b item_b 30 2011-10-05 2011-10-10
ITEMS
item_id | item_name | item_price
------------------------------------
item_a Item AA 500
item_b Item BB 1000
到目前为止,我有以下查询已经采取的项目价格独特%的值的总和用户。
不过,我需要什么,除了这是SELECT应该只涵盖那些项目交易其用户的状态有所截至的(计算的总和)和应用作为最新之一。
要重申一下,应用和item_transactions表将随着时间的推移相同的用户,应该怎样盖(选中)包含几个记录是最新的应用下,这些交易只(状态截止)。
SELECT
item_po.poid,
SUM(item_transactions.quantity_ordered) AS qtysum,
item_transactions.item_id,
item_transactions.quantity_ordered,
items.item_id,
items.item_price,
applications.user_id,
applications.status
FROM
items
WHERE
applications.status='Ended'
GROUP BY
item_transactions.user_id
+1表示格式。但是你没有告诉我们你的查询的一般目的。你能否在每天的语言中描述它的作用和结果? –
你能否告诉我你想要的预期结果? –
@ErwinBrandstetter嗯,我应该如何把这个...也许这就像说我想根据提供的日期参数(在我的情况下是date_of_application和date_ended)计算给定公司的销售额。同时考虑到只有最新的应用应该被考虑。在我的情况下,user_b因为他的状态此刻处于活动状态而不在等式中。呃我希望能够说清楚= P –