Просмотр темы
Задачка по MySQL
|
|
grungestranger |
Опубликовано 15.08.2014 17:11
|
Пользователь Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
Привет всем. Задача такая - изменение значения с подзапросом к этой же таблице. В данном примере структура таблицы не важна. Ответы вроде: изначально неправильная организация данных - не принимаются. Код я упростил, чтобы была понятна суть, сам по себе он не имеет смысла.
Дополнительный подзапрос нужен для того, чтобы избежать ошибки 1093: Can't specify target table for update in FROM clause Но теперь другая проблема - значение t1.field2 является неизвестным внутри второго подзапроса Можно ли как-то передать это значение этому подзапросу? Переменные не помогают, так как, насколько я понимаю, переменную можно задать только в SELECT, то есть в первом подзапросе, и тогда этот запрос будет возвращать результат не из одного значения и будет ошибка - Operand should contain 1 column(s) - вот такой пример:
Единственный выход, который я вижу - во втором подзапросе выбирать всю таблицу (все нужные поля), а в первом уже выбирать нужные данные - вот так:
Может быть есть какое-то другое решение? Может быть как-то все-таки можно передать значение из изменяемой строки в подзапрос 2-го уровня вложенности... Всем спасибо) |
|
|
Alipapa |
Опубликовано 16.08.2014 13:48
|
Опытный пользователь Сообщений: 243 Зарегистрирован: 02.11.2010 13:13 |
Сохраненные процедуры, функции mysql 5-й версии позволяет создавать и использовать |
|
|
grungestranger |
Опубликовано 18.08.2014 09:07
|
Пользователь Сообщений: 83 Зарегистрирован: 25.02.2013 21:52 |
Ну а попроще никак?)
|
|
Поделиться этой темой | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |