2012-07-18 60 views
0

我需要清理一些醜陋的數據。我有什麼類似的Excel中的「unpivot」數據

ID,someFields,Supplier,Supplier_1,Supplier_2,Price,Price_1,Price_2,Weight; Weight_1,Weight_2 

等等。字段的名稱最多爲_9,實際上有8個不同的名爲_1到_9的字段。當然Price_1適用於Supplier_1等等。

我現在想通過複製ID和somefields到UNPIVOT到

ID,someFields,Supplier,Price,Weight 

。 一個重要的注意事項是,那些_1到_9字段可以爲空,實際上大多數是。

我有的工具。 Excel中 的MS Access 可以(MIS)使用Oracle模式我有機會獲得...

我發現這個 How to simulate UNPIVOT in Access 2010?

但是也乘以行是隻有1個供應商。

任何想法?

回答

1

您可以使用聯合查詢。

SELECT * INTO NewTable FROM 
    (SELECT ID,someFields,Supplier,Price,Weight FROM Table 
    WHERE SomeField Is Not Null 
    UNION ALL 
    SELECT ID,someFields1,Supplier1,Price1,Weight1 FROM Table 
    WHERE SomeField1 Is Not Null 
    <...>)