次のスクリプトを実行していますが、エラーが発生しています。これは本質的に2つの別々のスクリプトの組み合わせです。だから私はジョーンズの1つがオフだと思うが、どこにはないかと思う。私はwinsqlのODBC経由でERPからデータを引き出しています。ODBCを介してデータをプルしようとしたときに、このSQLスクリプトで構文エラーが発生しました。どのように/理由がわかりません
また、月に追加する方法はありますか?おそらくのような単純なもの:
TO_CHAR(Month(t.TRANDATE,'YYYY-MM-DD')) AS CreatedMonth
問題を持っているクエリは次のとおりです。
SELECT
t.TRANSACTION_TYPE AS TranType
,tl.ACCOUNT_ID AS AcctId
,a.NAME AS Account
,a.TYPE_NAME AS AcctType
,t.TRANSACTION_ID AS DCOGSTranId
,t.TRANID AS DCOGSNo
,TO_CHAR(t.TRANDATE,'YYYY-MM-DD') AS DCOGSCreateDt
,TO_CHAR(t.TRANDATE,'YYYY-MM-DD') AS CDate
,t.CREATED_BY_ID AS DCOGSCreatedById
,tl.SUBSIDIARY_ID AS SubSidId
,ss.NAME AS SubSidiary
,tl.LOCATION_ID AS LocId
,t.ENTITY_ID AS CustomerId
,tl.ITEM_ID AS ItemId
,NVL(SUM(tl.GROSS_AMOUNT),0) AS DirectCOGS$
,NVL(SUM(tl.ITEM_COUNT),0) AS DirectCOGSQty
,ilm.ITEM_ID AS ItemId
,ss.NAME AS SubSidiary
,ilm.LOCATION_ID AS LocId
,TO_CHAR(ed.ExpireDt,'YYYY-MM-DD') AS ExpireDt
,TO_CHAR(CURRENT_DATE,'YYYY-MM-DD') AS CDate
,NVL(ilm.AVERAGE_COST,0)*NVL(u.CONVERSION_RATE,1) AS AvgCost
,NVL(ilm.LAST_PURCHASE_PRICE,0)*NVL(u.CONVERSION_RATE,1) AS LastPurchPrice
,NVL(ilm.AVERAGE_COST,0) * NVL(ilm.ON_HAND_COUNT,0) AS OnHandCost$
,NVL(ilm.ON_HAND_COUNT,0)/NVL(u.CONVERSION_RATE,1) AS OnHandQty
,NVL(bin.BinOnHandQty,0)/NVL(u.CONVERSION_RATE,1) AS BinOnHandQty
,NVL(ilm.AVERAGE_COST,0) * (NVL(ilm.IN_TRANSIT_COUNT,0)) AS InTranCost$
,NVL(ilm.IN_TRANSIT_COUNT,0)/NVL(u.CONVERSION_RATE,1) AS InTranQty
,NVL(ilm.AVERAGE_COST,0) * (NVL(ilm.AVAILABLE_COUNT,0)) AS AvailCost$
,NVL(ilm.AVAILABLE_COUNT,0)/NVL(u.CONVERSION_RATE,1) AS AvailQty
,NVL(bin.BinAvailQty,0)/NVL(u.CONVERSION_RATE,1) AS BinAvailQty
,NVL(ilm.AVERAGE_COST,0) * (NVL(ilm.ON_ORDER_COUNT,0)) AS OnOrderCost$
,NVL(ilm.ON_ORDER_COUNT,0)/NVL(u.CONVERSION_RATE,1) AS OnOrderQty
,NVL(ilm.AVERAGE_COST,0) * (NVL(ilm.QUANTITYBACKORDERED,0)) AS BackOrdrdCost$
,NVL(ilm.QUANTITYBACKORDERED,0)/NVL(u.CONVERSION_RATE,1) AS BackOrdrdQty
FROM TRANSACTIONS t
JOIN TRANSACTION_LINES tl ON t.TRANSACTION_ID = tl.TRANSACTION_ID
LEFT JOIN ITEMS i ON tl.ITEM_ID = i.ITEM_ID
LEFT JOIN TRANSACTIONS t2 ON t.CREATED_FROM_ID = t2.TRANSACTION_ID
LEFT JOIN ACCOUNTS a ON tl.ACCOUNT_ID = a.ACCOUNT_ID
LEFT JOIN SUBSIDIARIES ss ON tl.SUBSIDIARY_ID = ss.SUBSIDIARY_ID
WHERE tl.ACCOUNT_ID = 128
FULL OUTER JOIN ITEM_LOCATION_MAP ilm ON tl.ITEM_ID = ilm.ITEM_ID
JOIN ITEMS i ON ilm.ITEM_ID = i.ITEM_ID
LEFT JOIN UOM u ON i.PURCHASE_UNIT_ID = u.UOM_ID
LEFT JOIN PRIMARY_SUBSIDIARYS_MAP psm ON ilm.ITEM_ID = psm.ITEM_ID
LEFT JOIN SUBSIDIARIES ss ON psm.SUBSIDIARY_ID = ss.SUBSIDIARY_ID
LEFT JOIN (
SELECT ITEM_ID, LOCATION_ID, MIN(EXPIRATION_DATE) AS ExpireDt FROM INVENTORY_NUMBER
WHERE EXPIRATION_DATE IS NOT NULL
GROUP BY ITEM_ID, LOCATION_ID) ed ON ilm.ITEM_ID = ed.ITEM_ID AND
ilm.LOCATION_ID = ed.LOCATION_ID
LEFT JOIN (
SELECT ITEM_ID, LOCATION_ID, SUM(ON_HAND_COUNT) AS BinOnHandQty,
SUM(AVAILABLE_COUNT) AS BinAvailQty
FROM BIN_NUMBER_COUNTS
GROUP BY ITEM_ID, LOCATION_ID) bin ON ilm.ITEM_ID = bin.ITEM_ID AND
ilm.LOCATION_ID = bin.LOCATION_ID
WHERE (ilm.ON_HAND_COUNT != 0 OR ilm.IN_TRANSIT_COUNT != 0 OR
ilm.ON_ORDER_COUNT != 0 OR ilm.QUANTITYBACKORDERED != 0)
GROUP BY
t.TRANSACTION_TYPE
,tl.ACCOUNT_ID
,a.NAME
,a.TYPE_NAME
,t.TRANSACTION_ID
,t.TRANID
,t.TRANDATE
,t.CREATED_BY_ID
,tl.SUBSIDIARY_ID
,ss.NAME
,tl.LOCATION_ID
,t.ENTITY_ID
,tl.ITEM_ID
あなたもエラーを投稿してください。 – MKR