2つの異なるシステム用に2つのデータベースがあります。 EDIシステムとERPシステム私はEDIシステム受注テーブル内のすべての注文にErpOrderItem表にするためにT-SQLの検索他のデータベースから見つからない項目
A. EDI System
Order
----
1. OrderId
2. OrderDate
OrderItems
---------
1. OrderItemId
2. OrderId
3. ProductId
Order_Erp
------
1. OrderId
2. ErpDocNum
ERP System
ErpOrder
-------
1. ErpDocNum
2. DocEntry
ErpOrderItem
----
1. DocEntry
2. ProductId
ではありませんすべてのProductIdを知っていただきたいと思い
次のようにたとえば、注文キーとErpDocNumでリンクされた注文のErpOrderItemで使用できないOrderItemsのすべてのアイテムを知りたいとします。これらの2つのシステムは、Order_ErpテーブルのErpDocNumによってリンクされています
私は以下のように試しましたが、私は後の結果を与えていません。提供テーブルスキーマを1として
select * from edi.Orders ODR
INNER JOIN edi.Order_Erp ERDR ON ODR.OrderId = ERDR.OrderId
INNER JOIN edi.OrdersItems ODRL ON ODR.OrderId = ODRL.OrderId
INNER JOIN ErpOrder ON ERDR.ErpDocNum = ErpOrder.ErpDocNum
INNER JOIN ErpOrderItem ON ErpOrder.DocEntry = ErpOrderItem.DocEntry
where ErpOrder.ProductId != ODRL.Productid collate SQL_Latin1_General_CP1_CI_AS
不足しているアイテムを見つけるには、「外部結合」または「例外」が必要です。 – adrianm