powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Select внутри update
6 сообщений из 6, страница 1 из 1
Select внутри update
    #39495419
ssm116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня прошу помощи у знающих людей.
Вопрос такой : Есть 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
Select внутри update
    #39495510
Jude
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ssm116Доброго ... Помогите ...
Exists ?
...
Рейтинг: 0 / 0
Select внутри update
    #39495566
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
UPDATE [список ВСЕХ таблиц]
SET [необходимые присвоения]
WHERE [условия связывания/соответствия/отбора]
...
Рейтинг: 0 / 0
Select внутри update
    #39495570
ssm116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,выходит так?
UPDATE tab1,tab2
SET name=1
WHERE tab2.id=tab1.id
...
Рейтинг: 0 / 0
Select внутри update
    #39495941
ssm116
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо , вопрос решен, на одном из форумов мне подсказали правильный ответ. Если кому то надо вот он:
UPDATE tab1 SET name = 1 WHERE tab1.id IN (SELECT tab2.id from tab2)
...
Рейтинг: 0 / 0
Select внутри update
    #39496326
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Select внутри update
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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