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

    −862

    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
    -- находим текущий месяц
    FOR rec IN 
    	SELECT date_part ('month', now()) as ma, date_part ('year', now()) as ya 
    LOOP
    	m1 = rec.ma-1;
    	IF m1=0 THEN m1=12; END IF;
    	Y1 = rec.ya;
    	IF m1=12 THEN Y1 = rec.ya - 1; END IF;
    END LOOP;
    
    FOR rec IN 
    	SELECT count(v.partner_id) as cnt  
    		FROM  v, a where v.id=a.id  and period like '%'||m1||'-'||Y1||' по%' and accepted = 1 and active=1 
    LOOP
    -- вырезано
    -- а десятком строк ниже
    -- находим предыдущие 3 месяца 
    m2 = m1 - 1;	
    IF  m2 = 0 THEN m2 = 12; END IF;
    IF m1<m2  THEN Y2 = Y1 - 1; ELSE Y2 = Y1; END IF;
    m3 = m2 - 1;
    IF m3 = 0 THEN m3 = 12; END IF;
    IF m2<m3 THEN Y3 = Y2 - 1; ELSE Y3 = Y2; END IF;
    m4 = m3 - 1;
    IF  m4 = 0 THEN m4 = 12; END IF;
    IF m3<m4 THEN Y4 = Y3 - 1; ELSE Y4 = Y3; END IF;

    из кода доставшегося по наследству.
    вот так вот видимо модно проводить поиск по дате
    комментерии добавлены при выкладывании сюда

    Запостил: qnikst, 03 Июня 2010

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

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

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