2017-03-07 1 views
2

以下は、購買発注を受注にリンクするクエリです。このレポートに配送伝票#を含めるには、もう1つのテーブルを追加する必要があります。ODLN(したがって、「配送伝票#」[別名[ODLN.DocNum]というフィールドが追加されます)。私の問題は、以下のクエリでODLNに参加する方法がわからないことです。SAP Crystal Reportsのクエリへの納品情報の追加

ODLN.DocNumは、POがSO送信時に配置されたことをほぼ確認します。

SELECT DISTINCT 
     o.CardName AS 'Customer Name' 
     ,(isnull(c1.Street,'') + ', ' + isnull(c1.Block,'') + ', ' + isnull(c1.City,'') + ', ' + isnull(c1.[State],'') + ' ' + isnull(c1.ZipCode,'')) AS 'Customer Address' 
     ,cpr.[Name] AS 'Customer Contact' 
     ,cpr.Tel1 AS 'Customer Phone' 
     ,cpr.E_MailL AS 'Customer Email' 
     ,o.DocNum AS 'Sales Order #' 
     ,p.DocNum AS 'PO # to Barracuda' 
     ,l.ItemCode AS 'SKU' 
     ,l.Dscription AS 'Desc' 
     ,l.Quantity AS 'Qty' 
     ,l.Price 
     ,s.SlpName AS 'Sales Rep' 
FROM 
     ORDR o 
     INNER JOIN RDR1 l ON o.DocEntry = l.DocEntry 
     LEFT JOIN POR1 p1 ON l.DocEntry = p1.BaseEntry AND l.LineNum = p1.BaseLine 
     LEFT JOIN OPOR p ON p1.DocEntry = p.DocEntry 
     INNER JOIN OCRD c ON o.CardCode = c.CardCode 
     INNER JOIN CRD1 c1 ON c.CardCode = c1.CardCode AND c.BillToDef = c1.[Address] 
     LEFT JOIN OCPR cpr ON c.CntctPrsn = cpr.[Name] AND c.CardCode = cpr.CardCode 
     INNER JOIN OITM itm ON l.ItemCode = itm.ItemCode 
     INNER JOIN OITB i ON itm.ItmsGrpCod = i.itmsGrpCod 
     INNER JOIN OSLP s ON o.SlpCode = s.SlpCode 
WHERE 
     o.Canceled = 'N' 
     AND c1.AdresType = 'B' 
     AND i.ItmsGrpCod = 109 
     AND o.DocDate BETWEEN '6/01/2014 00:00:00.000' AND '9/30/2014 00:00:00.000' 
ORDER BY 
     o.DocNum 
+0

ODLN.DocNumはどのように既存のテーブル/列に関連していますか? –

+0

Delivery Docは、POがSOの提出時に配置されたことを確認します。 – vnguyen

+0

このテーブルは他のテーブルとどのように関連しているので、結合を把握できますか? –

答えて

0

コメントから、現在のクエリにODLNを参加させるために使用するフィールドがわからないことは明らかです。

私はお金に従います。

正しくリコールすると、ODLN.TransIdはOJDT.TransIdに結合し、OJDT.BaseRefはOPOR.DocNumに結合します。

ご不明な点は、納品書があるPOのみ、納品書がないPOのみ、または納品書をお持ちのPOがすべて注文されているかどうかです。私たちがそれを知ったら、左か内かどうか、Nullを扱う方法などを教えてもらえます。しかし、SAPについて言えば、その部分は簡単です。

関連する問題