日期:2014-05-18  浏览次数:20439 次

对比两个结构相似表的内容
我有两个表(DB2),他们是关连的,见SalesOrderNumber, 一个Sales order可能有多个 PurchaseOrders 因为生产商不一样。
SalesOrderDetails:  
SalesOrderNumber int
OrderLineNo int
ProductCode varchar
Price decimal

PurchaseOrderDetails:  
SalesOrderNumber int
OrderNumber int
OrderLineNo int
ProductCode varchar
Cost decimal
Supplier

Purchase 一般是用SalesOrder生成的,所以一般情况下内容是一样的,只是一个卖价,一个买价。但由于某些原因造成PurchaseOrderDetails的lines 有缺失。我如何写一个sql把把sales order 的 内容和Purchase的比较一下,看哪些少了line呢?这里可以忽略Supplier, 也就是说只根据salesOrderNumber找相关的PurchaseOrders比较就可以了


------解决方案--------------------
SQL code
给些测试数据并列出你要的结果

------解决方案--------------------
SQL code

select OrderNumber ,a.OrderLineNo ,isnull(Product,'missing')Product from SalesOrderDetails a left join 
b on a.OrderNumber=b.SalesOrderNumber and a.OrderLineNo=b.OrderLineNo

------解决方案--------------------
SQL code
select OrderNumber ,a.OrderLineNo ,isnull(b.Product,'missing')Product from SalesOrderDetails a left join 
b on a.OrderNumber=b.SalesOrderNumber and a.OrderLineNo=b.OrderLineNo