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

    −166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    l.handler is null and
            s.serialn = l.serialn and
            n.serialn = s.serialn and
            k.kid = s.id and
            oc.id = k.cid and
            o.id = oc.orderid and
            c.id = d.country and
            d.id = (
         case
    
         when ( o.qr_dealer is not null ) then
          o.qr_dealer
    
         when ( s.pid = any( %s::int[] ) ) then
          ( case when (
           n.expires <= ( now() + '90 days'::interval )
          ) then (
           select
            c.dealer
           from
            table_name_hidden_1 c
           where
            s.serialn = any( c.serials ) and
            c.dealer is not null and
            c.status = any( %s::int[] )
           limit 1
          ) else null end )
         else
          (
           select
            d2.id
           from
            table_name_hidden_2 d2
           where
            d2.id = any( array[ s.dealer, o.for_partner ] ) and
            d2.active = true and
            (
             (
              d2.role = any( %s::int[] ) and
              (
               (
                exists((
                 select
                  1
                 from
                  table_name_hidden_3
                 where
                  table_name_hidden_3.dealer = d2.id
                 limit 1
                ))
               ) or (
                o.for_partner is not null and
                d2.id = o.for_partner and
                exists((
                 select
                  1
                 from
                  table_name_hidden_2 d3
                 where
                  d3.id = s.dealer and
                  d3.role = any( %s::int[] )
                ))
               )
              )
             ) or (
              d2.role = any( %s::int[] ) and
              (
               (
                o.for_partner is null
               ) or (
                o.for_partner = s.dealer
               )
              )
             )
            )
           limit 1
          )
         end
            )

    Зато одним запросом.

    Запостил: kainwinterheart, 26 Декабря 2013

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

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

    Ошибка компиляции комментария:
    1. Гости могут высказаться только во вторник, пятницу или субботу
    ava Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код