鑑於您的最新評論,這應該會給你你需要的。您應該有一些方法可以區分商店表中的值。也許一個「實際的」 BIT列或類似的東西:
INSERT INTO Stores (item, cost, price, actual)
SELECT item, cost, price, 0
FROM TempStores
UNION ALL
SELECT item, actual_cost, actual_price, 1
FROM TempStores
如果你需要調整列(例如,增加10%actual_price),那麼你可以這樣做:
INSERT INTO Stores (item, cost, price, actual)
SELECT item, cost, price, 0
FROM TempStores
UNION ALL
SELECT item, actual_cost, 1.1 * actual_price, 1
FROM TempStores
WHERE actual_cost IS NOT NULL
我也在第二個SELECT語句中添加了WHERE子句以表明您可以過濾這些行。 WHERE子句只會影響第二個SELECT。所以,你也可以這樣做:
INSERT INTO Stores (item, cost, price, actual)
SELECT item, cost, price, 0
FROM TempStores
WHERE cost IS NOT NULL
UNION ALL
SELECT item, actual_cost, 1.1 * actual_price, 1
FROM TempStores
WHERE actual_cost IS NOT NULL
你應該更具體地說明一行如何變成三行。理想情況下,包括樣本數據和預期結果。 – 2010-06-29 17:25:31
可以說TempStore表具有{Items,Cost,Price,ActualCost,ActualPrice} 但是在Store表中我需要存儲{Items,Cost,Price}。從TempStore datarow ActualCost和ActualPrice需要被添加爲另一行存儲....(我希望這是有道理的)....不管怎麼說,是使用「WHILE-BEGIN-END」的解決方案? – VoodooChild 2010-06-29 17:32:43