powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите создать код новичку
7 сообщений из 7, страница 1 из 1
Помогите создать код новичку
    #39953091
andryus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица MYSQL с полями
pole1
pole2
pole3
polerezult

Допустим имеются значения в полях
pole1=А
pole2=B
pole3=C

polerezult в итоге после обработки скрипта должно принять значение 'переменная1;переменная2;переменная3'

Надо в поле polerezult вставить значение
Если pole1 = B или =С то тогда будем считать переменную1 = '1'
Если pole2 = B или =С то тогда будем считать переменную2 = '1'
Если pole3 = B или =С то тогда будем считать переменную3 = '1'

в тоге после обработки скрипта polerezult должно принять значение ';1;1'

вот набросок есть но как это сделать не могу скомоновать
update Data set polerezult=......... where Id = @Reestr and .....

Где многоточия там не могу скомпановать. Помогите новичку

Спасибо
...
Рейтинг: 0 / 0
Помогите создать код новичку
    #39953118
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CONCAT_WS(). Внутри - три CASE.
...
Рейтинг: 0 / 0
Помогите создать код новичку
    #39953130
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
CONCAT_WS(). Внутри - три CASE.
Ему надо не вычисляемое поле, ему нужен SELECT одновременно с UPDATE (чего не бывает в одном запросе).
...
Рейтинг: 0 / 0
Помогите создать код новичку
    #39953135
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99
Akina
CONCAT_WS(). Внутри - три CASE.
Ему надо не вычисляемое поле, ему нужен SELECT одновременно с UPDATE (чего не бывает в одном запросе).
Ну так ничего не мешает написать CONCAT_WS() с тремя кейсами в UPDATE.
...
Рейтинг: 0 / 0
Помогите создать код новичку
    #39953136
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andryus,

Как-то так:
Код: sql
1.
2.
UPDATE data
SET polerezult=CONCAT(IF(pole1=pole2 OR pole1=pole3, '1;', ';'), IF(pole2=pole2 OR pole2=pole3, '1;', ';'), IF(pole3=pole2 OR pole3=pole3, '1', ''))


pole2=pole2 и pole3=pole3 - специально оставил так, чтобы было видно, что условия задачи кривые.
...
Рейтинг: 0 / 0
Помогите создать код новичку
    #39953283
andryus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

miksoftpole1=pole2 OR pole1=pole3, '1;', ';'), IF(pole2=pole2 OR pole2=pole3, '1;', ';'), IF(pole3=pole2 OR pole3=pole3, '1', '')
pole2=pole2 и pole3=pole3 - специально оставил так, чтобы было видно, что условия задачи кривые.

Вот тут не понятно, я просто упростил условие задачи, попробую по другому сформулировать более правильно

pole1 может быть одно из значений А1,А2,А3,А4,А5,А6,А7,А8 и т.д.
pole2 может быть одно из значений А1,А2,А3,А4,А5,А6,А7,А8 и т.д.
pole3 может быть одно из значений А1,А2,А3,А4,А5,А6,А7,А8 и т.д.

Значения А1,А2,А3,А4 имеют буквенно-цифровое значение например N25.1 (или другие цифры буквы)

Надо в поле polerezult вставить значение
Если pole1 = А2 или =А6 то тогда будем считать переменную1 = '1' или пусто
Если pole2 = А2 или =А6 то тогда будем считать переменную1 = '1' или пусто
Если pole3 = А2 или =А6 то тогда будем считать переменную1 = '1' или пусто

в тоге после обработки скрипта polerezult должно принять значение ';1;1' (предполагается что в pole1 нет ни одного значения удовлетворяющего условию)

Может все равно не понятно но примерно как то так)))

Я уже думал может применять вот так case when pole1 is null then 'А2 ' else 1 end) as 'perempole1' (не правильно наверно)
...
Рейтинг: 0 / 0
Помогите создать код новичку
    #39953293
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andryus
Значения А1,А2,А3,А4 имеют буквенно-цифровое значение например N25.1 (или другие цифры буквы)
Значения имеют значения - так не бывает.

В любом случае, подставьте нужные значения в мой запрос.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите создать код новичку
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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