Вот моя ситуация.Во-первых, я не работаю над реляционной базой данных, я просто использую доступ как простой способ манипулирования данными.На данный момент у меня много таблиц.
Одна основная таблица, назовем ее MAIN, и около 10 других таблиц, которые мы можем назвать X1, X2, X3 и т. Д. Таблица X1 содержит элементы, которые имеют свойство X1.Таблица X2 содержит элементы со свойством X2 и т. Д.
Все таблицы Xx имеют одинаковые поля.Таблица MAIN также имеет те же поля, кроме того, поля X1, X2 и т. Д. Являются логическими.
Что я хочу сделать:
Я хочучтобы заполнить таблицу MAIN данными из таблиц Xx.
Дело в том, что могут быть элементы с несколькими свойствами, поэтому они могут появляться, например, в X1, X2, X5.
Итак, я сначала попытался запустить это:
UPDATE MAIN
SET itemnumber = X1.itemnumber, x1 = "true";
, но это ничего не дает.теперь я предполагаю, что это логично, поскольку в таблице MAIN еще нет записей.
В любом случае, какой запрос я могу написать, который сделает это:
Если запись таблицы X1 еще не существует в MAIN, добавьте ее и установите для поля X1 значение true.
Если записьX1 уже существует в MAIN, обновите его и установите для поля X1 значение true.
(Тогда я бы обновил его для запуска на каждой таблице X, которая у меня есть.)
Я рассматриваю INSERTINTO, но я не хочу перезаписывать данные, которые уже существуют, или генерировать ошибку (я действительно не знаю много обо всем этом> _>)
Заранее благодарен всем, кто может дать советы.
edit 1
Я подумал, что сначала попробую вставить все данные из таблиц Xx в таблицу MAIN (они имеют одинаковую структуру)
, поэтому япопробовал это сначала:
INSERT INTO MAIN.itemnumber
(select X1.itemnumber from X1
UNION ALL
select X2.itemnumber from X2)
попробовал это только на одном поле, чтобы увидеть, работает ли это, но это не так: /
Я понял, как только я добавил все данные изX таблиц, затем я запускаю несколько UPDATE с WHERE EXISTS для каждой таблицы Xx, устанавливая соответствующее свойство Xx равным tРю, и я сделал.
Но мне трудно даже сделать что-то столь же "простое", как объединение данных из нескольких таблиц в одну ....