У меня есть две таблицы. В таблице 1 (таблица_1) у меня есть id
, category_name
и category_id
. Здесь установлен только id
. В другом (таблица_2) у меня есть article_id
, content_id
и tag_name
.Вставьте все экземпляры значений из одной таблицы в новую
Теперь из table_1 и table_2 мне нужно поставить content_id
и tag_name
из второй в первую таблицу category_id
и category_name
. Это можно сделать так:
UPDATE table_1
INNER JOIN table_2 ON table_2.article_id = table_1.id
SET table_1.category_id = table_2.content_id
UPDATE table_1
INNER JOIN table_2 ON table_2.article_id = table_1.id
SET table_1.category_name = table_2.tag_name
Я попытался добавить AND
и добавить table_1.category_name = table_2.tag_name
, но я ничего не получил, так что я разделил два запроса.
Но вопрос у меня есть, что в моей второй таблице, я могу иметь несколькоcontent_id
«S, присоединенные к тому же article_id
(несколько категорий в той же статье), и выше я буду получать только один целое положил в category_id
для статьи в первой таблице.
table_2, например:
article_id content_id tag_name
================================
21596 156 Tag Name
21596 16 Second
26189 156 Tag Name
Как я могу обновить значения из одной таблицы в другую, если нет взаимно-однозначного соответствия? Кроме того, могут ли эти значения разделяться запятой?
РАЗЪЯСНЕНИЕ
Что мне нужно, это способ вывести оба tag_name
с и content_id
сек из второй таблицы в первой таблице и есть что-то вроде
table_1:
id category_id category_name
=========================================
21596 156, 16 Tag Name, Second
26189 156 Tag Name
ОБНОВЛЕНИЕ
Хорошо, так что я нашел способ, чтобы получить всю информацию сцепляются в один из второй таблицы, мне просто нужно, чтобы включить это как-то в мой запрос обновления
SELECT article_id, group_concat(tag_name ORDER BY tag_name, content_id) AS tag_name, group_concat(content_id ORDER BY tag_name, content_id) AS tag_id
FROM table_2
GROUP BY article_id
Возможно, я знаю, почему его downvoted – saikumarm
Я поддержал вас, потому что это работает (для отмены downvote), но вопрос был не о нескольких запросах. Вопрос в том, можно ли присвоить именам нескольких категорий и идентификаторам первой таблицы. –
Есть ли решение без Oracle? Я запрашиваю у phpmyadmin простую базу данных mysql –