Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.07.2017, 15:11
|
|||
|---|---|---|---|
|
|||
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
Помогите решить задачу Есть таблица oc_product_attribute product_idattribute_idlanguage_idtext 68 22 1 Натуральная кожа 68 22 2 Натуральная кожа 168 23 1 Искусственная кожа 168 23 2 168 32 1 Картон 168 32 2 681 12 1 Бумага 681 12 2 Таблица содержит множество product_id. Каждый product_id содержит множество attribute_id. Каждый attribute_id представлен в двух языках language_id и имеет text Для некоторых строк для language_id = 2 нет значения text и мне нужно его заполнить. Насколько я понимаю, нужно JOIN-ить две виртуальные, одна с language_id =1, например, l_one, вторая - language_id =2, например, l_two, а потом что-то типа UPDATE l_two SET l_two.text =l_one.test Но как правильно JOIN-ить я не могу понять... По чем объединять, если нет уникального поля для обоих таблиц. Уникальным есть только пара product_id-attribute_id Или может есть другой способ решить задачу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2017, 15:44
|
|||
|---|---|---|---|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
rezhisser, Тебе, видимо, надо пройти курс обучения языку SQL... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2017, 21:20
|
|||
|---|---|---|---|
|
|||
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
MasterZiv, да, твой совет мне очень помог) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.07.2017, 22:45
|
|||
|---|---|---|---|
|
|||
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
rezhisser, Уважаемый MasterZiv прав. Вперед учить SQL! Уж как правильно джойнить понимать надо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2017, 10:10
|
|||
|---|---|---|---|
|
|||
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
Получилось так Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2017, 11:43
|
|||
|---|---|---|---|
|
|||
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
rezhisser, вместо ON можно использовать более короткую инструкцию USING (PRODUCT_ID, ATTRIBUTE_ID) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2017, 11:59
|
|||
|---|---|---|---|
|
|||
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
paver, ага, спасибо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
19.07.2017, 17:05
|
|||
|---|---|---|---|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
rezhisserПолучилось так Код: sql 1. 2. 3. 4. 5. 6. Фиг с ним с ON, а вот условие JOIN-а, наверное, надо исправить. И решить вообще, какую таблицу ты UPDATE-ишь, а какую JOIN-ишь. Код: sql 1. 2. 3. 4. Наверное, ты UPDATE-ишь таблицу T2, так её и указывай в UPDATE. А JOIN-ишь ты T1, её в JOIN. Ну и наверное ты ставишь в соответствие одним записям таблицы, которые надо изменить, другие подобные записи этой же таблицы, откуда надо будет брать данные. А вот условия несовпадения записей у тебя нет. Также нет и условия совпадения или несовпадения языков, хотя может быт тебе оно и не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2017, 09:12
|
|||
|---|---|---|---|
|
|||
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы) |
|||
|
#18+
MasterZivА вот условия несовпадения записей у тебя нет. Также нет и условия совпадения или несовпадения языков, хотя может быт тебе оно и не нужно. Я так понимаю, что условие T2.text = "" неявно подразумевает AND T2.language_id = 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1830533]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 370ms |

| 0 / 0 |
