Я импортировал файловую базу данных Software PAD из http://paddatabase.net/download.html в Microsoft Access в таблице с именем main:
MAIN
-----
ID
ProgramName
Program_category_Class
CategoryID <- I created this to create a one to many relation with a new table Category
.
.
Я создал две новые таблицы: категорию и подкатегорию.
Category
--------
ID
CategoryName
Я извлек все значения из поля Program_Category_Class в левой части :: delimiter в категорию таблиц.Данные из Program_Category_Class выглядят следующим образом:
Program_Category_Class
Business::Accounting & Finance
Games & Entertainment::Action
Business::Accounting & Finance
Business::Databases & Tools
Я хочу создать SQL-запрос, который обновляет таблицу MAIN с помощью идентификатора категории из таблицы категорий, которая совпадает с LIKE (слева) в Program_Category_Class.Затем я изменю запрос на соответствие справа налево для таблицы подкатегории.
Я пробовал что-то подобное, но не получил результата:
UPDATE Main SET Main.category = (SELECT Category.ID
FROM Category
WHERE Category.CategoryName LIKE Main.Program_Category_Class+'%')
WHERE (((Exists (SELECT Category.ID
FROM Category
WHERE Category.CategoryName LIKE Main.Program_Category_Class+'%'))<>False));
Поскольку это публичная БД, я могу предоставить копию базы данных всем заинтересованным.
Любая помощь будет принята с благодарностью.Спасибо.