2013-12-12 30 views
1

我有這樣的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 - 推銷員ID,CID - 客戶ID,說明 - 銷售介紹,SDATE - 銷售日期)

我想查找第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

我已經使用這個查詢,但沒有運氣 - - select sid,sid,sdate from sales where sdate>#12/01/2013#and sdate <#12/31/2013#AND Exists (選擇cid,sid,sdate from sales where(sdate>#11/01/2013#和sdate <#11/30/2013#)和(sales.sid = sales.sid和sales.cid = sales.cid)) – HackerGK

回答

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)); 

感謝

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表,通過連接在sidcid和應用相同的sdate過濾器。

+0

嗨,感謝您的努力。我只是需要查看所有可用的重複記錄,我發現解決方案.... :) – HackerGK

相關問題