Я получаю 2 отчета от системы, которую я решил обработать через Access с использованием SQL.Один отчет называется «Evals», а другой - «Con».В данный момент таблица "Con" не нормализована.Есть поля с именами «Пользователь» и «Роли пользователя», и я хотел бы использовать PK «CO_ID».Для каждого экземпляра «CO_ID» существует несколько и разные «роли пользователей» и «пользователи».Тем не менее, «Роли пользователя» ограничены выбором 6. Однако для каждой роли «CO_ID» может быть несколько пользователей для одной роли.Это приводит к появлению нескольких строк с одинаковыми данными, связанными с CO_ID.
2 отчета генерируются одинаковым образом, поэтому каждый раз процесс будет одинаковым.
Мне нужно создать таблицу с "CO_ID" и другими полями, которые остаются неизменными для "CO_ID".
Каков наилучший способ автоматизации нормализации этой таблицы?
Я попытался разобрать данные с помощью SQL, но не смог найти хороший способ.Я думаю что-то вроде:
SELECT DISTINCT CO_ID, [EVERY OTHER FIELD IS THE SAME FOR CO_ID]
FROM table1;
SELECT DISTINCT User_Role
FROM table1;
SELECT DISTINCT User
FROM table1;
SELECT DISTINCT CO_ID, User_Role, User
Первая команда SQL создаст уникальный список CO_ID, вторая команда SQL создаст таблицу поиска для User_Role, третья команда SQL создаст таблицу поиска для User,последний связал бы CO_ID с User_Role и User.Однако я не был уверен, как создать первичный ключ для всех таблиц, чтобы связать их вместе.Возможно, это тоже не лучший способ, поэтому я открыт для идей.
table1 = Con
CO_ID Field1 Field2 User_Role User
WA13 ABS 2019-02-13 Admin User1
WA13 ABS 2019-02-13 Manager User2
WA14 DB 2019-01-01 Secretary User3
WA14 DB 2019-01-01 Manager User2
WA14 DB 2019-01-01 Analyst User4
WA14 DB 2019-01-01 Analyst User5
WD15 ZZ 2018-11-20 Supervisor User6
WD15 ZZ 2018-11-20 Manager User7
WD15 ZZ 2018-11-20 Admin User8
WD15 ZZ 2018-11-20 Analyst User9
То, что я хотел бы, чтобы результат был РЕЗУЛЬТАТЫ СТОЛОВ
CO_ID Field1 Field2
WA13 ABS 2019-02-13
WA14 DB 2019-01-01
WD15 ZZ 2018-11-20
User_Role
Admin
Manager
Secretary
Analyst
Supervisor
User
User1
User2
User3
User4
User5
User6
User7
User8
User9