我有这个sales
表:
ID sid cid desciption price sdate
1 2 2 sadfsdf 177 11/12/2013
2 1 2 asdf 34 11/12/2013
3 2 2 asdsad 45 04/11/2013
(sid - salesmen id,cid - customer id,description - sales description,sdate - sales date)
我想找到12个月的销售情况,并发现上个月同一销售人员是否向同一客户进行了销售,并显示这些记录。
例如,从此表中输出将是:
ID sid cid desciption price sdate
1 2 2 sadfsdf 177 11/12/2013
3 2 2 asdsad 45 04/11/2013
这是MS Access数据库。
我使用过此查询,但没有运气。
SELECT cid,
sid,
sdate
FROM sales
WHERE sdate > #12 / 01 / 2013 #
AND sdate < #12 / 31 / 2013 #
AND EXISTS (SELECT cid,
sid,
sdate
FROM sales
WHERE ( sdate > #11 / 01 / 2013 #
AND sdate < #11 / 30 / 2013 # )
AND ( sales.sid = sales.sid
AND sales.cid = sales.cid ))
答案 0 :(得分:1)
您可以使用GROUP BY
查询来确定哪些销售人员/客户组合在12月份出现过多次。
SELECT
s.sid,
s.cid,
Count(*) AS sales_count
FROM sales AS s
WHERE s.sdate BETWEEN #2013-12-01# AND #2013-12-31#
GROUP BY
s.sid,
s.cid
HAVING Count(*) > 1;
如果您想查看这些完整的销售记录,请将该查询加入sales
表,方法是加入sid
和cid
并应用相同的sdate
过滤条件
答案 1 :(得分:0)
这是我自己发现的答案。 谢谢大家尝试过并努力...
SELECT cid, sid, sdate,price
FROM sales AS t1
WHERE sdate > #11/01/2013# and sdate < #11/30/2013# AND Exists
(Select cid,sid,sdate from sales as t2 where (sdate > #12/01/2013# and sdate < #12/30/2013#) and (t1.sid = t2.sid and t1.cid = t2.cid));
感谢