我有 2 个表和一个嵌套表:
1.stores有关产品的数据,包括以下列:
ITEM - product id(key)
STORE - store id(key)
PRICE
NORMAL_PRICE
DISCOUNTS - nested table with info about discounts include columns:
PromotionId(key)
PromotionDescription
PromotionEndDate
MinQty
DiscountedPrice
DiscountedPricePerMida
2-带有新折扣的临时表包括列:
PROMOTIONID(key)
PRODUCTID(key)
PROMOTIONDESCRIPTION
PROMOTIONENDDATE
MINQTY
DISCOUNTEDPRICE
DISCOUNTEDPRICEPERMIDA
我需要做的是将表 2 合并到表 1 - 如果没有匹配插入则忽略(当匹配是:表 1 和 2 中的产品 id 匹配以及此产品子表 PROMOTIONID 匹配表 2 中的 PROMOTIONID)
到目前为止,这是我在嵌套部分遇到困难的地方 - ON 子句和 Insert 子句
MERGE INTO PRICES P
USING(SELECT * FROM TMP_PROMO)T
ON(P.ITEM=T.PRODUCTID AND P.STORE=50 AND P.DISCOUNTS.PROMOTIONID=T.PROMOTIONID)
WHEN NOT MATCHED THEN INSERT (P.DISCOUNTS)
VALUES(T.PROMOTIONID,
T.PROMOTIONDESCRIPTION,
T.PROMOTIONENDDATE,
T.MINQTY,
T.DISCOUNTEDPRICE,
T.DISCOUNTEDPRICEPERMIDA);
我知道这是错误的,但我在任何地方都找不到怎么做
示例:价格表:
row1(1,50,...,nested_table[(11,...),(12,...)])
row2(2,50,...,nested_table[(10,...),(12,...)])
新促销表:
(15,1,...)
(11,1,...)
id 为 15 的新促销将添加到 row1 和 row2
并且不会添加 id 为 11 的促销
请帮忙,谢谢