Сравнение текста в скрипте

Автор LoryMax, марта 02, 2017, 08:30:27 pm

« предыдущая - следующая »

LoryMax

Приветствую!
Есть таблица: объект, артикул, дата, элементы товародвижения, остатки. Хочу удалить при первоначальном и при инкрементальном проходе нули остатков перед первым товародвижением.

При инкрементальном чуть больше код, а именно:

T8:
                    load *
                        ,if(ARTICLE<>peek('ARTICLE') and Flag=1,1,
                              if(ARTICLE<>peek('ARTICLE') and TotalDailyRest<>0, 1,
                                  if(ARTICLE<>peek('ARTICLE') and Flag<>1, 0,
                                      if(ARTICLE=peek('ARTICLE') and TotalDailyRest<>0, 1,
                                          if(ARTICLE=peek('ARTICLE') and Peek(Flag) = 1,1,0))))) as Flag
                      Resident T7
                      order by OBJECT, ARTICLE, CREATEDAT
                    ;


Т.е. при Flag = 0 в дальшейшем удалятся строки.

Проблема, что нельзя использовать ARTICLE<>peek('ARTICLE') , т.к. не числа. Что можно взамен использовать? Артикулы как текст, вида 068770.

millik

Смотрите в сторону функции мatch() и её производных: mixmatch() и wildmatch().

Будет что-то типа
мatch(ARTICLE,peek('ARTICLE'))=1  - если есть совпадения
мatch(ARTICLE,peek('ARTICLE'))=0  - если нет совпадений

admin

Цитата: LoryMax от марта 02, 2017, 08:30:27 pm
Проблема, что нельзя использовать ARTICLE<>peek('ARTICLE') , т.к. не числа. Что можно взамен использовать? Артикулы как текст, вида 068770.

Стоп, почему нельзя использовать peek() с текстом?
Все прекрасно работает.

Следует учитывать сортировку и переходы по ключевым значениям верхнего уровня. В вашем примере это OBJECT.

Рейтинг@Mail.ru Яндекс.Метрика