Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#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:11 |
|
||
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#18+
rezhisser, Тебе, видимо, надо пройти курс обучения языку SQL... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 15:44 |
|
||
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#18+
MasterZiv, да, твой совет мне очень помог) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 21:20 |
|
||
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#18+
rezhisser, Уважаемый MasterZiv прав. Вперед учить SQL! Уж как правильно джойнить понимать надо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 22:45 |
|
||
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#18+
Получилось так Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 10:10 |
|
||
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#18+
rezhisser, вместо ON можно использовать более короткую инструкцию USING (PRODUCT_ID, ATTRIBUTE_ID) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 11:43 |
|
||
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#18+
paver, ага, спасибо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 11:59 |
|
||
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#18+
rezhisserПолучилось так Код: sql 1. 2. 3. 4. 5. 6. Фиг с ним с ON, а вот условие JOIN-а, наверное, надо исправить. И решить вообще, какую таблицу ты UPDATE-ишь, а какую JOIN-ишь. Код: sql 1. 2. 3. 4. Наверное, ты UPDATE-ишь таблицу T2, так её и указывай в UPDATE. А JOIN-ишь ты T1, её в JOIN. Ну и наверное ты ставишь в соответствие одним записям таблицы, которые надо изменить, другие подобные записи этой же таблицы, откуда надо будет брать данные. А вот условия несовпадения записей у тебя нет. Также нет и условия совпадения или несовпадения языков, хотя может быт тебе оно и не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 17:05 |
|
||
|
Обновить данные в таблице по данным из этой же таблице (виртуальные таблицы)
|
|||
|---|---|---|---|
|
#18+
MasterZivА вот условия несовпадения записей у тебя нет. Также нет и условия совпадения или несовпадения языков, хотя может быт тебе оно и не нужно. Я так понимаю, что условие T2.text = "" неявно подразумевает AND T2.language_id = 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 09:12 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39491430&tid=1830533]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
227ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 337ms |

| 0 / 0 |
