развернуть данные из Excel

Мне нужно очистить некоторые уродливые данные. То, что у меня есть, похоже на

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

и так далее. Поля имеют имена до _9, и на самом деле существует 8 разных таких полей с именами от _1 до _9. Конечно, Цена_1 предназначена для Поставщика_1 и так далее.

Теперь я хотел бы вернуться к

ID,someFields,Supplier,Price,Weight

путем дублирования ID и некоторых полей. Важно отметить, что эти поля от _1 до _9 могут быть нулевыми, на самом деле большинство из них таковы.

Инструменты у меня есть. Excel MS Access может (неправильно) использовать схему оракула, к которой у меня есть доступ...

Я нашел это Как имитировать UNPIVOT в Access 2010?

Однако это также умножает строки, в которых есть только 1 поставщик.

Любые идеи?


person beginner_    schedule 18.07.2012    source источник


Ответы (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
   <...>)
person Fionnuala    schedule 18.07.2012