-7

SQLもネストされたステートメントも知りません。以下の条件と SQL に基づいて、Access クエリにコピー アンド ペーストするための完全な SQL を提供してください。事前にどうもありがとう、ナサニエル

基準:

  1. if [POsoI].[PO_number]is like "*H", THEN [o].[SERVICE ID] must be equal to "HEAT TREAT"

  2. IF [POsoI].[PO_number] is like "*C", THEN [o].[SERVICE ID] must be equal to "COATING" or equal to "ZINC PLATING"

  3. IF [POsoI].[PO_number] is like "*G", THEN [o].[SERVICE ID] must be equal to "GRINDING"

  4. IF [POsoI].[.[PO_number] isnt like "*H" or like "*C" or like "*G", then [o].[SERVICE ID] must not be null and can not be equal to "HEAT TREAT" and can not be equal to "COATING" and can not be equal to"ZINC PLATING" and can not be equal to "GRINDING"

    SELECT DISTINCT o.SERVICE_ID FROM tbl_PO_service_order_input AS POsoI INNER JOIN SYSADM_OPERATION AS o ON (o.WORKORDER_LOT_ID = POsoI.WO_lot_ID) AND (POsoI.wo_Base_ID = o.WORKORDER_BASE_ID);

4

1 に答える 1

0
SELECT DISTINCT IIf(RIGHT(TBL_PO_SERVICE_ORDER_INPUT.PO_NUMBER,1)='H' And SYSADM_OPERATION.SERVICE_ID='HEAT TREAT',SYSADM_OPERATION.SERVICE_ID,IIf(RIGHT(TBL_PO_SERVICE_ORDER_INPUT.PO_NUMBER,1)='C' And SYSADM_OPERATION.SERVICE_ID='CLOTHING' Or SYSADM_OPERATION.SERVICE_ID='ZINC PLATING',SYSADM_OPERATION.SERVICE_ID,IIf(RIGHT(TBL_PO_SERVICE_ORDER_INPUT.PO_NUMBER,1)='G' And SYSADM_OPERATION.SERVICE_ID='GRINDING',SYSADM_OPERATION.SERVICE_ID,IIf(RIGHT(TBL_PO_SERVICE_ORDER_INPUT.PO_NUMBER,1)<>'G' Or RIGHT(TBL_PO_SERVICE_ORDER_INPUT.PO_NUMBER,1)<>'H' Or RIGHT(TBL_PO_SERVICE_ORDER_INPUT.PO_NUMBER,1)<>'C' And SYSADM_OPERATION.SERVICE_ID Is Not Null,SYSADM_OPERATION.SERVICE_ID,
IIf(SYSADM_OPERATION.SERVICE_ID<>'HEAT TREAT' And SYSADM_OPERATION.SERVICE_ID<>'COATING' And SYSADM_OPERATION.SERVICE_ID<>'ZINC PLATING' And SYSADM_OPERATION.SERVICE_ID<>'GRINDING',SYSADM_OPERATION.SERVICE_ID)))))
FROM SYSADM_OPERATION INNER JOIN TBL_PO_SERVICE_ORDER_INPUT ON ([TBL_PO_SERVICE_ORDER_INPUT].WO_LOT_ID=[SYSADM_OPERATION].WORKORDER_LOT_ID) AND ([TBL_PO_SERVICE_ORDER_INPUT].WO_BASE_ID=[SYSADM_OPERATION].WORKORDER_BASE_ID);
于 2012-05-31T04:48:59.850 に答える