Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка по условию и замена значений полей, значениями из другой таблицы / 6 сообщений из 6, страница 1 из 1
31.10.2019, 21:57
    #39883910
Выборка по условию и замена значений полей, значениями из другой таблицы
Добрый день.

Прошу помочь с запросом к базе на выборку по условию и заменой значения полей, значениями из другой таблицы.

Первая таблица - T1

id | code | name
---+----------+------
1 | 675 | Василий
2 | 415 | Борис
3 | 534 | Иван

Вторая таблица - T2

id | code | name | category | corr
---+----------+-----------+-----------+--------
1 | 675 | Василий | gold | 500
2 | 415 | Борис | vip | 300
3 | 534 | Иван | gold | 200

Результат запроса SELECT * FROM t1 WHERE code IN (SELECT code FROM t2 WHERE category = 'gold')
т.е с выборкой вроде проблем нет

id | code | name
---+----------+------
1 | 675 | Василий
3 | 534 | Иван

Как заменить значения code на corr из таблицы T2

Что бы был следующий результат??

id | code | name
---+----------+------
1 | 500 | Василий
3 | 200 | Иван

Спасибо за помощь заранее.
...
Рейтинг: 0 / 0
01.11.2019, 00:01
    #39883924
MikkiMouse
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по условию и замена значений полей, значениями из другой таблицы
Алексей Филатов,

Так у Вас 1-я таблица избыточна.

Достаточно же

Код: sql
1.
    SELECT `id`, `corr` AS code, `name` FROM `t2` WHERE `category` = 'gold'
...
Рейтинг: 0 / 0
01.11.2019, 19:32
    #39884476
Выборка по условию и замена значений полей, значениями из другой таблицы
MikkiMouse, Благодарю за помошь. Но это моя ошибка, (пример не очень удачный). Дело в том, что T1 id совершенно может не совпадать с T2 id.. Стопроцентно совпадает в обоих таблицах только code и name

таблица - T1
id | code | name
---+----------+------
241 | 675 | Василий
368 | 415 | Борис
414 | 534 | Иван

таблица - T2

id | code | name | category | corr
---+----------+-----------+-----------+--------
1 | 675 | Василий | gold | 500
2 | 415 | Борис | vip | 300
3 | 534 | Иван | gold | 200
...
Рейтинг: 0 / 0
07.11.2019, 13:13
    #39886182
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка по условию и замена значений полей, значениями из другой таблицы
update T1
set code = ( select corr from T2 where T2.code = T1.code)
...
Рейтинг: 0 / 0
07.11.2019, 17:07
    #39886331
Выборка по условию и замена значений полей, значениями из другой таблицы
MasterZiv, Спасибо.
...
Рейтинг: 0 / 0
07.11.2019, 17:27
    #39886345
Выборка по условию и замена значений полей, значениями из другой таблицы
MasterZiv, Но это с заменой таблицы.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка по условию и замена значений полей, значениями из другой таблицы / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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