Petruxin писал(а):Voltron Будте еще любезны объяснить почему в одном и том же поле после выполнения Вами написанной команды значения заменяются, а после последующей замены другого значения в этом же поле(обновить поле, Ваш код вставляю и заменяю значения...) новое значение появляется, а старое стирается?
Потому что вы невнимательно прочитали то, что вам ответили и не разобрались как это все работает
и соответственно менять выражение
Если выражение перевести на русский, то получится примерно следующее
Код: Выделить всё
ЕСЛИ "T_TEXTURE" = 1 ТО (в поле вписать) 'грубые' ИНАЧЕ (в поле вписать) ''
Что произойдет, если вы замените только первую часть, которая до ИНАЧЕ, а все остальное оставите как есть? Т.е вот так
Код: Выделить всё
ЕСЛИ "T_TEXTURE" = 2 ТО (в поле вписать) 'точно' ИНАЧЕ (в поле вписать) ''
Правильно. Все записи, для которых поле T_TEXTURE равно 2, будут обновлены и получат значение поля "точно". А все остальные записи будут обновлены с использованием пустой строки (''). Т.е. менять надо
все части выражения.
Вы хотите, чтобы на втором и всех последующих шагах, т.е. когда меняется 2 на какой-то текст, 3 на какой-то текст и т.д., обновлялись только эти поля, а все остальные оставались неизменными. Что для этого нужно? А нужна сущая мелочь — подставлять значение этого же поля. Таким образом, выражение для последующих замен будет иметь вид
Код: Выделить всё
CASE WHEN "T_TEXTURE" = 1 THEN 'грубые' ELSE "NEW_FIELD" END
где NEW_FIELD название поля, которое вы обновляете.
Теперь понятно?