2017-09-14 6 views
0

次のスクリプトを実行していますが、エラーが発生しています。これは本質的に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 
+2

あなたもエラーを投稿してください。 – MKR

答えて

1

は本当にエラーが私たちを助けるためにあるものを投稿する必要があります...しかし

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 

は交換してくださいどこでAND。

は、別の節であり、joinステートメントの一部ではありません。あなたはkey1 = key1とkey2 = key2とkey3 = 'hi'を使用することができます

+0

ああ大丈夫です。私はSQLとStackの両方に新しいので、私はプロトコルに注目します。返されたエラーはあまり有益ではなかったので、ポストになった。それは単に "SQL構文エラー" – user8611472

関連する問題