我想寫一個查詢,它會給我所有成員的訂單日期存在於2013年但不是在2014年的記錄。當我寫我的查詢它給了我2013年仍然存在的所有2013年記錄。我試圖只記錄2013年的訂單日期,而不是2014年。因此,它應該顯示2013年存在的記錄,並排除不存在的記錄在2014年。請幫助,因爲我真的很陌生的SQL。日期在一年中存在但不在另一個日期的SQL語法
非常感謝。
下面是我的查詢:
選擇 OMFMC.BILL_MASTER_CUSTOMER_ID, OMFMC.BILL_FIRST_NAME, OMFMC.BILL_LAST_NAME, CMI.NATIONAL_LEVEL2, MIN(OMFMC.ORDER_DATE), OMFMC.ORDER_DATE, FT。 PAYMENT_AMOUNT,
SUM(FT.PAYMENT_AMOUNT)as SUM
FROM 客戶CUSTOMER_IN_TRIBUTE_TO
RIGHT OUTER JOIN ORDER_FND_DETAIL OFD
ON (CUSTOMER_IN_TRIBUTE_TO.MASTER_CUSTOMER_ID=OFD.IN_TRIBUTE_TO_MAST_CUST
and CUSTOMER_IN_TRIBUTE_TO.SUB_CUSTOMER_ID=OFD.IN_TRIBUTE_TO_SUB_CUST)
RIGHT OUTER JOIN ORDER_MBR_FND_MTG_CUS_INFO_VW OMFMC
ON (OMFMC.ORDER_NO=OFD.ORDER_NO
and OMFMC.ORDER_LINE_NO = OFD.ORDER_LINE_NO )
LEFT OUTER JOIN CUS_CURRENT_MEMBERSHIP_INFO CMI
ON (CMI.MASTER_CUSTOMER_ID=OMFMC.BILL_MASTER_CUSTOMER_ID
and CMI.SUB_CUSTOMER_ID=OMFMC.BILL_SUB_CUSTOMER_ID)
LEFT OUTER JOIN FAR_TXN FT
ON (FT.ORDER_NO=OMFMC.ORDER_NO
and FT.ORDER_LINE_NO=OMFMC.ORDER_LINE_NO)
WHERE
OMFMC.ORDER_STATUS_CODE='A'
AND OMFMC.LINE_STATUS_CODE = 'A'
AND OMFMC.ORDER_STATUS_CODE = 'A'
AND OMFMC.LINE_STATUS_CODE = 'A'
AND OMFMC.ORDER_DATE BETWEEN '1/1/2013' and '12/31/2013'
AND OMFMC.ORDER_DATE Not BETWEEN '1/1/2014' and '12/31/2014'
AND OMFMC.BILL_CUSTOMER_CLASS_CODE NOT IN ('TEST_MBR','STAFF')
AND FUND in ('FOSFN' , 'MFUND')
GROUP BY OMFMC.BILL_MASTER_CUSTOMER_ID, OMFMC.BILL_FIRST_NAME, OMFMC.BILL_LAST_NAME, OMFMC.BILL_LABEL_NAME, OMFMC.BILL_PRIMARY_EMAIL_ADDRESS, OMFMC.BILL_ADDRESS_1, OMFMC.BILL_ADDRESS_2 , OMFMC.BILL_CITY, OMFMC.BILL_STATE, OMFMC.BILL_POSTAL_CODE, CMI.NATIONA L_LEVEL2, OMFMC.ORDER_DATE, FT.PAYMENT_AMOUNT
HAVING SUM(FT.PAYMENT_AMOUNT) < 0
Order By BILL_MASTER_CUSTOMER_ID
在訂單日期領域,是具有2013日期,和2014年的日期。我希望我的查詢能夠查看2013年和2014年的訂單日期,並且只需提取2013年的訂單日期。不是具有2013年和2014年日期的記錄。如果他們在2013年和2014年有訂單,那麼我想排除這些記錄。因此,例如:
enter code here
Bill_Member_ID .......... ORDER_DATE
123 .................... 01/05/2013
123 .................... 01/27/2013
123 ................ ... 02/15/2014
123 .................... 02/18/2014
456 .......... .......... 01/07/2013
789 .................... 01/05/2013
789 .... ............... 。2014年2月17日
992 .................... 2013年3月15日
於是我應該得到的
回報Bill_Member_ID ..........order_date的
456 .................... 2013年1月7日
992 .............. ...... 2013年3月15日
謝謝你這麼多
非常感謝StarPilot!這做到了。 :) –
不客氣。很高興爲你工作。在SO,我們希望有解決問題的答案作爲實際答案。 – StarPilot