Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Select внутри update / 6 сообщений из 6, страница 1 из 1
26.07.2017, 16:33
    #39495419
ssm116
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Select внутри update
Доброго дня прошу помощи у знающих людей.
Вопрос такой : Есть 2 таблицы. Нужно обновить строки первой таблицы, но только те, ID которой = ID второй таблицы..
Проще говоря обновляем строки у которых ID равные в обеих таблицах. я сделал так:
имеем 2 таблицы:tab1 и tab2 поля обеих таблиц одинаковые,в обеих есть id и name .
UPDATE tab1 SET name = 1 WHERE tab1.id = (SELECT tab2.id from tab2)
Обновить нужно строки tab1 , id которых = id строк из tab2.
в том варианте все получается,но только если в tab2 только одна запись...и это естественно,потому что если строк больше в запросе SELECT у нас выходят все id 2 таблицы.Помогите пожалуйста,не могу додуматься как сделать.
...
Рейтинг: 0 / 0
26.07.2017, 18:10
    #39495510
Jude
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Select внутри update
ssm116Доброго ... Помогите ...
Exists ?
...
Рейтинг: 0 / 0
26.07.2017, 20:23
    #39495566
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Select внутри update
Код: sql
1.
2.
3.
UPDATE [список ВСЕХ таблиц]
SET [необходимые присвоения]
WHERE [условия связывания/соответствия/отбора]
...
Рейтинг: 0 / 0
26.07.2017, 20:41
    #39495570
ssm116
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Select внутри update
Akina,выходит так?
UPDATE tab1,tab2
SET name=1
WHERE tab2.id=tab1.id
...
Рейтинг: 0 / 0
27.07.2017, 12:54
    #39495941
ssm116
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Select внутри update
Всем спасибо , вопрос решен, на одном из форумов мне подсказали правильный ответ. Если кому то надо вот он:
UPDATE tab1 SET name = 1 WHERE tab1.id IN (SELECT tab2.id from tab2)
...
Рейтинг: 0 / 0
27.07.2017, 21:47
    #39496326
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Select внутри update
ssm116Akina,выходит так?
Код: sql
1.
2.
3.
UPDATE tab1,tab2
SET name=1
WHERE tab2.id=tab1.id


Код: sql
1.
2.
3.
UPDATE tab1,tab2
SET tab1.name=1
WHERE tab2.id=tab1.id
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Select внутри update / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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