Обновить строки данными той же таблицы - PullRequest
0 голосов
/ 29 июня 2018

У меня есть глобальная таблица с именем item_empresa, в этой таблице у меня есть некоторые столбцы с именами preco, preco_1 и мы идем. Эта таблица item_empresa имеет два идентификатора: id_item и id_empresa Я должен обновить данные таблицы, где id_empresa отличается. Например:

UPDATE item_empresa SET
preco = (SELECT preco FROM item_empresa WHERE id_empresa = 1)
WHERE id_empresa = 2;

Мне нужно что-то, что "скопировало бы" данные preco из item_empresa с id_empresa = 1, в данные preco item_empresa с id_empresa = 2. Внесение этого изменения во все строки таблицы item_empresa. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 29 июня 2018

Я считаю, что проблема в том, что ваш запрос SELECT возвращает более одной строки. Я не уверен, почему, но у вас, вероятно, есть несколько строк с одним и тем же id_empresa. Если все эти «повторяющиеся» строки имеют одинаковые значения, может оказаться полезным использовать условие GROUP BY .

UPDATE item_empresa SET
preco = (SELECT preco FROM item_empresa WHERE id_empresa = 1 GROUP BY id_empresa)
WHERE id_empresa = 2;

Если пароли линий не совпадают, вам нужно будет найти способ выбрать тот, который вам действительно нужен. Попробуйте добавить больше условий в вызов * WHERE .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...