这是我需要完成的事情:
通过组合来自同一个表 ( t_order ) 的两行或多行在t_order中插入一个新行,其中除 order_id (Identity) 和 order_number 之外的所有值都相同
新行将代表一个合并的订单。
发往同一地址的两个订单合并为一个
插入前的示例表
order_id order_number ship_addrs1 ship_to_zip
-------- ------------ ----------- -----------
1 ABC001 111 1st St 11111
2 ABC002 123 Main St 12345 <--- Source Row
3 ABC003 123 Main St 12345 <--- Source Row
4 ABC004 111 2nd St 11111
插入后的结果(必须保留源订单)
order_id order_number ship_addrs1 ship_to_zip
-------- ------------ ----------- -----------
1 ABC001 111 1st St 11111
2 ABC002 123 Main St 12345
3 ABC003 123 Main St 12345
4 ABC004 111 2nd St 11111
5 ABC005 123 Main St 12345 <--- New Row
我考虑过使用以下代码来完成此操作,但不确定合并三行需要做什么。
SELECT * INTO tmp_order_cosolidation
FROM t_order
WHERE order_id = 1 AND order_number = ABC002
ALTER TABLE tmp_order_cosolidation
DROP COLUMN order_id, ordern_number
INSERT INTO t_order
SELECT *
FROM tmp_order_cosolidation;
DROP TABLE tmp_order_cosolidation ;
预先感谢您的回答