我有以下表格及其相应的列:
Order_head (order_no, supplier)
Order_item (order_no, item, country)
Supplier_Country (supplier, item, country)
Order_head:
order_no supplier
100 2000
Order_item
order_no item country
100 001
100 002
Supplier_Country
supplier item country
2000 001 SA
2000 002 US
The Country Column in order_item should be filled as per the info in Supplier_Country Table
Order_item
order_no item country
100 001 SA
100 002 US
Order_head和Order_item由order_no加入。
我想填写Order_item中的国家/地区列 - 基于order_head的SUPPLIER和order_item中的ITEM与Supplier_Country表中的供应商和料品相匹配的条件。
我该怎么做?
答案 0 :(得分:0)
假设Country位于供应商国家/地区表中,您可以使用以下内容:
UPDATE OI
SET Country=SC.Country
FROM Order_item OI
INNER JOIN ORDER_HEAD OH
on OI.Order_No=OH.Order_No
INNER JOIN Supplier_Country SC
on OH.Supplier=SC.Supplier
and OI.Item=SC.Item
答案 1 :(得分:0)
我发现item
表中的Supplier_Country
列有点奇怪。但根据您的信息,我认为这是update
声明:
update Order_item oi
set oi.country = (select sc.country
from Order_head oh
join Supplier_Country sc
on sc.supplier = oh.supplier
and sc.item = oi.item
where oh.order_no = oi.order_no)