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

    −117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    SELECT *
    FROM table1
    WHERE
    COALESCE(
      field1,
      field2,
      field3,
      field4,
      field5,
      fieldN,  
      "lol"
    )!="lol"

    Запостил: huitka, 24 Января 2012

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

    • Криво же, сэр.
      select * from sometable where coalesce(field0, field1, fieldM) is not null
      Ответить
      • вы на говнокоде, сэр
        Ответить
        • Премного благодарен, сэр, запамятовал.
          Ответить
      • а у Вас "lol" отклеился
        Ответить
        • Минусовщикам разжую.
          Запросы топикстартера и eth0 не являются идентичными.
          Если в одном из столбцов (field1, field2, field3, field4 ...) будет значение "lol", то в первом запросе строка НЕ попадет в выборку, а в запросе eth0 попадет.
          Надеюсь, доступно.
          Ответить
          • А... COALESCE
            "Возвращает первое выражение из списка аргументов, не равное NULL."
            Я думал, это SQL-ная конкатенация.
            Ответить
          • Согласен, но всё равно вряд ли человек хотел исключить из выборки строки "lol". Хотя наверняка предполагал, что таких значений ему не попадется.
            Ответить
          • Спасибо, капитан, я специально так и написал. Поскольку предположил, что в данном случае оный лол не нужен (кроме как последнее ограничивающее условие). Если на нём завязана внутренняя логика, мне неведомая, само собой, мой вариант будет неверным.
            Ответить

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