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

    −861.7

    1. 1
    2. 2
    3. 3
    select ...
    where ISNULL(e2e.ItemId, -1) = (case when @itemId < 1 then ISNULL(e2e.ItemId, -1) else @itemId end) 
    and ISNULL(e2e.LeftId, -1) = (case when @parentItemId < 1 then ISNULL(e2e.LeftId, -1) else @parentItemId) end

    Запостил: workgss, 29 Декабря 2009

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

    • В самом конце end вылез за скобку, так надо?
      Ответить
    • больше смущает, что вместо where у селекта используется безумное выражение. sql машине будет тяжело проверять данное условие над каждой из 100 миллиона строк.
      Ответить
    • Использование функций в левой части условия - это уже говноподход.
      Ответить

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