1. SQL / Говнокод #13040

    −158

    1. 1
    2. 2
    3. 3
    4. 4
    update "Employee"."Jobs" set "default_group_id" = '1' where "id" in (select "id" from "Employee"."Jobs" where title like '%родавец%');
    update "Employee"."Jobs" set "default_group_id" = '2' where "id" in (select "id" from "Employee"."Jobs" where title like '%правляющ%');
    update "Employee"."Jobs" set "default_group_id" = '3' where "id" in (select "id" from "Employee"."Jobs" where title like '%лиент%');
    update "Employee"."Jobs" set "default_group_id" = '4' where "id" in (select "id" from "Employee"."Jobs" where title like '%клад%' and title not like '%борщиц%');

    like '%клад% должен был включать всяких "работников склада" и "замзавсклада", но туда попала также и "уборщица склада" - пришлось заводить второе условие

    Запостил: AntonioK, 23 Мая 2013

    Комментарии (13) RSS

    • Эх, наймёте на работу «уборщика склада», напишете ещё одно условие.
      Ответить
      • Подозреваю, что 1С-ники из опасений перед возможными косяками в устроенной подобным же образом (здесь код касается только web-интерфейса сотрудников) информационной системе предприятия запишут его в существующую уже должность "уборщица".
        Ответить
    • Do you like '%борщ%'?
      Ответить
      • INNER JOIN ingredients i ON i.dependency = t.id
        WHERE i.name = 'сметана'
        Ответить
    • показать все, что скрытоне говно. много лет подобными трюками пользуюсь (в регулярках). набрался в прошлом от лингвистов. те по электронным словарям подбым способом слова искали.
      Ответить
      • Попробуйте завести таблицу с категориями/тегами.
        Ответить
        • очень часто таблицы с категориями и тэгами вот именно таким образом и рождаются.

          или ты сидишь в ручную тысячам/миллионам записям категории/теги прописываешь?
          Ответить
          • Увидели, что выходит какое-то говно, добавили таблицу, все новые записи с тегами. ПРОФИТ.
            Ответить
            • часто базы начинаются, например, с большой пачки эксел шитов. и "модель данных" оных шитов, съоптимизирована на скорость ввода данных секретаршей.

              по предвзятому тону разговоров здесь, как если бы никто ни разу с живыми кастомерами на прямую не работал/не работает.
              Ответить
              • Работал и работаю. Но идея правильная: чисти код (и данные) от говна, пока его мало. Понятное дело, что не всегда все выходит гладко, но это не значит, что представленный в посте подход правилен.

                К тому же в этом случае вручную ничего делать не придется - уже ведь есть условия для апдейта данных. Их нужно просто собрать в миграционный скрипт.
                Ответить
                • "Понятное дело, что не всегда все выходит гладко, но это не значит, что представленный в посте подход правилен."
                  "Их нужно просто собрать в миграционный скрипт."

                  я и исхожу из того что то что написано сверху и есть часть миграционного скрипта. иначе смысла просто нету: группы/категории нужно выставить только раз, при переходе на новую модель даннных.

                  и как иначе, "правильно," ты бы это сделал?
                  Ответить
                  • >я и исхожу из того что то что написано сверху и есть часть миграционного скрипта

                    Тогда все в порядке.
                    Ответить
    • Клад-клад-клад.
      Ответить

    Добавить комментарий