※ 引述《icefanatic (下雨天...)》之銘言:
: 請問板上高手~
: 我使用的是access
: 假設table有c_id,product,s_date
: 想要找出此客戶買某產品的最小日期(客戶與產品會重覆)
: 我的query是SELECT sale.c_id,sale.product,test.s_date
: FROM sale INNER JOIN (SELECT c_id,MIN(s_date) FROM sale
: GROUP BY c_id) AS test
: on sale.c_id=test.c_id AND sale.s_date=test.s_date;
: 濾出的data會有遺漏的現象,例:查詢過後某些客戶或是產品會不見?
: 請問是哪裡有問題呢?
: 謝謝!
舉例來看:
sale: id c_id product s_date
1 1 'pa' '2009-10-10 20:00:00'
2 1 'pb' '2009-10-11 21:00:00'
3 1 'pc' '2009-10-12 22:00:00'
那麼照上述sql的邏輯來看, 只會撈出
1,'pa','2009-10-10 20:00:00' , 而不會撈出
1,'pb','2009-10-11 21:00:00' 以及
1,'pc','2009-10-12 22:00:00' ,
所謂data遺漏是指這種情形? 若要data不會遺漏, 那麼
應該是 GROUP BY c_id,product 才是.
不知有沒有會錯意?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.115.151.184
※ 編輯: bobju 來自: 58.115.151.184 (10/20 01:27)