来自Excel的“unpivot”数据

时间:2012-07-18 10:32:27

标签: sql excel ms-access 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,Supplier,Price,Weight

通过复制ID和某些字段。 一个重要的注意事项是那些_1到_9字段可以为null,实际上大多数都是。

我拥有的工具。 高强 MS Access 可以(误)使用oracle架构我可以访问...

我找到了这个 How to simulate UNPIVOT in Access 2010?

但是,这也会使只有1个供应商的行数倍增。

有什么想法吗?

1 个答案:

答案 0 :(得分: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
   <...>)