powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сравнение таблиц и запись
6 сообщений из 6, страница 1 из 1
Сравнение таблиц и запись
    #38994078
tiraelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
имеются таблицы

oc_product_tab_content
product_id int(11)
language_id int(11)
tab_id int(11)
content text utf8_general_ci

oc_product_description
product_id int(11)
language_id int(11)
name varchar(255) utf8_general_ci
meta_title varchar(255) utf8_bin
page_h1 varchar(255) utf8_bin
description text utf8_general_ci
meta_description varchar(255) utf8_general_ci
meta_keyword varchar(255) utf8_general_ci
short_description

oc_product_tab_default
tab_id int(11)
language_id int(11)
content

Ситуация такая что в таблице oc_product_tab_content нет некоторых product_id из таблицы oc_product_description. Нужно сравнить 2 таблицы oc_product_tab_content и oc_product_description и при ненахождении product_id его нужно добавить, а поле content взять из oc_product_tab_default. tab_id = 5
...
Рейтинг: 0 / 0
Сравнение таблиц и запись
    #38994770
tiraelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Сравнение таблиц и запись
    #38994826
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 ШАГ
записи, которых нет в oc_product_tab_content
Код: sql
1.
2.
3.
SELECT t1.*
FROM oc_product t1 LEFT JOIN oc_product_tab_content as t2 ON t1.product_id=t2.product_id
WHERE t2.name IS NULL


2 ШАГ
прикрутим поля из третьей таблицы
Код: sql
1.
2.
3.
SELECT t1.product_id, t3.language_id, t3.tab_id, t3.content
FROM oc_product t1 JOIN oc_product_tab_default as t3 LEFT JOIN oc_product_tab_content as t2 ON t1.product_id=t2.product_id
WHERE t2.name IS NULL AND  t3.tab_id = 5


3 ШАГ
вставляем итог
Код: sql
1.
2.
3.
4.
INSERT INTO oc_product_tab_content
SELECT t1.product_id, t3.language_id, t3.tab_id, t3.content
FROM oc_product t1 JOIN oc_product_tab_default as t3 LEFT JOIN oc_product_tab_content as t2 ON t1.product_id=t2.product_id
WHERE t2.name IS NULL AND  t3.tab_id = 5

вникните,проверьте и вперед...
...
Рейтинг: 0 / 0
Сравнение таблиц и запись
    #38994900
tiraelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По отдельности так то да. Но нужно в одном запросе сделать.
...
Рейтинг: 0 / 0
Сравнение таблиц и запись
    #38994917
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tiraeliusПо отдельности так то да. Но нужно в одном запросе сделать."Так то" это и есть один запрос
...
Рейтинг: 0 / 0
Сравнение таблиц и запись
    #38994998
tiraelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да всё круто, работает!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сравнение таблиц и запись
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]