ПРОБЛЕМА:
У меня есть две таблицы: таблица животных и таблица заполнителей. Я хочу сделать ОБНОВЛЕНИЕ
на столе для животных, чтобы заполнить соответствующие заготовки. Животное
таблица не нормализована должным образом.
Возможно ли сделать это с помощью чисто SQL-операторов SQL и не прибегая к
зацикливание внутри программы или скрипта?
Пример:
== Вот "до" ==
animal placeholder
1 | dog 1 | dog | log
1 | snog 2 | cat | mat
1 | _blank_ 3 | bird | word
2 | cat
2 | sat
2 | _blank_
3 | bird
3 | heard
3 | _blank_
== Вот "после" ==
animal placeholder
1 | dog 1 | dog | log
1 | snog 2 | cat | mat
1 | log 3 | bird | word
2 | cat
2 | sat
2 | mat
3 | bird
3 | heard
3 | word
ВОПРОС:
Можете ли вы создать SQL-оператор MySQL, который будет использовать UPDATE для преобразования
"до" в "после" ??
Я предполагаю, что будет необходимо использовать JOIN, так как запрос должен знать правильное место для размещения заполнителей.
== Решение ==
ОБНОВЛЕНИЕ животного а
SET name = (
ВЫБЕРИТЕ существительное
ОТ заполнителя
ГДЕ (
a.id = id
)
) ГДЕ a.name имеет значение null