0

我需要清理一些丑陋的数据。我所拥有的类似于

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 和 somefields。一个重要的注意事项是那些 _1 到 _9 字段可以为空,实际上它们中的大多数是空的。

我有的工具。Excel MS Access 可能(错误)使用我有权访问的 oracle 架构...

我发现这个 如何在 Access 2010 中模拟 UNPIVOT?

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

有任何想法吗?

4

1 回答 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
   <...>)
于 2012-07-18T11:59:48.777 回答