Сворачивание полей базы данных в строки с использованием имен полей в качестве значений - PullRequest
0 голосов
/ 21 мая 2019

Таким образом, Microsoft Access SQL немного ограничен, но мне интересно, можно ли использовать некоторые имена полей для генерации значений для строк. Это немного сложно объяснить, но вот пример:

IDNum   010101   010102   010103
  1     5/20/19  5/21/19  5/22/19
  2     5/28/19  5/28/19  5/30/19

Каждое имя поля содержит 3 двухзначных значения, которые представляют версию, процесс, шаг. Итак, первое поле - это версия 1, процесс 1, шаг 1. Они могут доходить до 10, поэтому я включил 2-значные значения, как показано на рисунке. Я пытаюсь свернуть таблицу следующим образом:

IDNum   Date    Version   Process   Step
  1     5/20/19    1         1       1
  1     5/21/19    1         1       2
  1     5/22/19    1         1       3
  2     5/28/19    1         1       1
  2     5/28/19    1         1       2
  2     5/30/19    1         1       3

Возможно ли свернуть подобные данные в одном запросе доступа? Я изо всех сил пытался найти чистый все в одном решении. Технически у нас более 60 таких столбцов, поэтому выполнение отдельных запросов для каждого из них кажется немного сложным.

Любые решения по объясненным методологиям были бы великолепны.

Спасибо

1 Ответ

0 голосов
/ 21 мая 2019

Вы можете использовать union all:

select idnum, [010101] as date, 1 as version, 1 as process, 1 as step
from t
union all
select idnum, [010102] as date, 1 as version, 1 as process, 2 as step
from t
union all
select idnum, [010103] as date, 1 as version, 1 as process, 3 as step
from t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...