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

    −187

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT ....
               CASE  WHEN  [StatusChange] = 0 THEN 0
                WHEN  [StatusChange] = 1 THEN 1 -- "желтый", изменен
                WHEN [StatusChange] = 2 THEN 2-- "серый", исключенный пункт
                WHEN [StatusChange] = 3 THEN 3 -- "светло-зеленый", добавленный пункт
                WHEN [StatusChange] = 4 THEN 4-- "зеленый", добавленный и измененный пункт
                ELSE 100
          END AS 'StatusColor'
    FROM ....

    HellMaster_HaiL, 09 Ноября 2010

    Комментарии (4)
  2. SQL / Говнокод #4532

    −196

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    SELECT SQL_CALC_FOUND_ROWS h.hotel_id , h.class, h.review_score, hr.view_count, MIN(r.min_price) as min_price 
    FROM hotel_facility hf11, hotel_facility hf39, hotel h 
    LEFT JOIN hotels.room r ON r.hotel_id = h.hotel_id 
    LEFT JOIN hotels.hotel_reiting_our hr ON h.hotel_id = hr.hotel_id 
    WHERE h.is_closed != 1 AND city_id=2760 and h.hotel_id = hf11.hotel_id and h.hotel_id = hf39.hotel_id AND hf11.hotelfacilitytype_id = 11 AND hf39.hotelfacilitytype_id = 39 
    GROUP BY h.hotel_id 
    ORDER BY h.ranking DESC;

    rO_ot, 04 Ноября 2010

    Комментарии (5)
  3. SQL / Говнокод #4450

    −187

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    -- PL/SQL
    IF LENGTH(TO_CHAR(NextNumber)) > 8 THEN
              RESULT := 'A'||TO_CHAR(NextNumber);
    ELSE
              RESULT := 'A'||SUBSTR('000000000',1,9-Length(TO_CHAR(NextNumber)))||TO_CHAR(NextNumber);
    END IF;

    У говнописцев LPAD не в моде :)

    Twister, 26 Октября 2010

    Комментарии (1)
  4. SQL / Говнокод #4444

    −199

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT z.id, z.user_id, z.points_figure, MAX( z.date_practice )
    FROM (
       SELECT p . * , h.date_practice
       FROM practice_update p
       INNER JOIN practice_update_history h ON p.history_id = h.id
       WHERE p.is_confirmed = 1 OR p.is_updated = 1
    order by h.date_practice desc
    ) z
    GROUP BY 2

    и это при том что нужно взять последнее "z.points_figure" для юзверя. %)

    KiMindfreak, 25 Октября 2010

    Комментарии (11)
  5. SQL / Говнокод #4424

    −177

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    SELECT * FROM `table` WHERE UNIX_TIMESTAMP(ExpireDate) >= UNIX_TIMESTAMP(NOW())
    
    
    
    ;

    даже не знаю что тут писать )))) только что столкнулся )))

    bakytn, 23 Октября 2010

    Комментарии (27)
  6. SQL / Говнокод #4371

    −186

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    select books.title,subjects.title from books,subjects,subjects_specialty,specialty,chair
    	where (books.subject_id=subjects.id)
    and (subjects.id=subjects_specialty.subject_id)
    and (subjects_specialty.specialty_id=specialty.id)
    and (specialty.chair_id=chair.id)
    and (chair.title='КИИ');

    Мой первый опыт в sql навреняка вам понравится :)

    werewolfv, 16 Октября 2010

    Комментарии (33)
  7. SQL / Говнокод #4350

    −112

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    --Вариант 1:
    SELECT round(term/2::real::integer)
    
    --Вариант 2:
    SELECT term/2+term%2

    Цель: определить номер курса от номера семестра (term).

    Просим выбрать лучший вариант.

    des-1008d, 12 Октября 2010

    Комментарии (4)
  8. SQL / Говнокод #4239

    −176

    1. 1
    SELECT DISTINCT(sid) FROM

    sid - уникальное значение(PK)

    ferry-very-good, 13 Сентября 2010

    Комментарии (15)
  9. SQL / Говнокод #4216

    −118

    1. 1
    Order by SYSDATE - NVL(p_date, created)

    Сортировка по дате в обратном порядке

    korvald, 10 Сентября 2010

    Комментарии (2)
  10. SQL / Говнокод #4205

    −128

    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
    CREATE TABLE IF NOT EXISTS `ls_user` (
      `user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `user_login` varchar(30) NOT NULL,
      `user_password` varchar(50) NOT NULL,
      `user_mail` varchar(50) NOT NULL,
      `user_skill` float(9,3) unsigned NOT NULL DEFAULT '0.000',
      `user_date_register` datetime NOT NULL,
      `user_date_activate` datetime DEFAULT NULL,
      `user_date_comment_last` datetime DEFAULT NULL,
      `user_ip_register` varchar(20) NOT NULL,
      `user_rating` float(9,3) NOT NULL DEFAULT '0.000',
      `user_count_vote` int(11) unsigned NOT NULL DEFAULT '0',
      `user_activate` tinyint(1) unsigned NOT NULL DEFAULT '0',
      `user_activate_key` varchar(32) DEFAULT NULL,
      `user_profile_name` varchar(50) DEFAULT NULL,
      `user_profile_sex` enum('man','woman','other') NOT NULL DEFAULT 'other',
      `user_profile_country` varchar(30) DEFAULT NULL,
      `user_profile_region` varchar(30) DEFAULT NULL,
      `user_profile_city` varchar(30) DEFAULT NULL,
      `user_profile_birthday` datetime DEFAULT NULL,
      `user_profile_site` varchar(200) DEFAULT NULL,
      `user_profile_site_name` varchar(50) DEFAULT NULL,
      `user_profile_icq` bigint(20) unsigned DEFAULT NULL,
      `user_profile_about` text,
      `user_profile_date` datetime DEFAULT NULL,
      `user_profile_avatar` varchar(250) DEFAULT NULL,
      `user_profile_foto` varchar(250) DEFAULT NULL,
      `user_settings_notice_new_topic` tinyint(1) NOT NULL DEFAULT '1',
      `user_settings_notice_new_comment` tinyint(1) NOT NULL DEFAULT '1',
      `user_settings_notice_new_talk` tinyint(1) NOT NULL DEFAULT '1',
      `user_settings_notice_reply_comment` tinyint(1) NOT NULL DEFAULT '1',
      `user_settings_notice_new_friend` tinyint(1) NOT NULL DEFAULT '1',
      PRIMARY KEY (`user_id`),
      UNIQUE KEY `user_login` (`user_login`),
      UNIQUE KEY `user_mail` (`user_mail`),
      KEY `user_activate_key` (`user_activate_key`),
      KEY `user_activate` (`user_activate`),
      KEY `user_rating` (`user_rating`),
      KEY `user_profile_sex` (`user_profile_sex`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
    [/code]
    очень актуально смотрится эта таблица с приведённой выше. очень умно сделать таблицу "топик-стартер" и не выделить отдельно профиль пользователя. что чаще используется в выборке? =)
    про миллионы пользователей и лайвстрит - не смешите, не верю (с)
    загнётся до прихода в БД

    дополнение к http://govnokod.ru/4203
    выделил отдельным гауно-кодом из-за того, что комично смотрится вместе с указанной выше таблицей. ну и ограничение длины комментов есть. ярые искатели оптимизаций видимо идут мимо. очень актуально смотрится эта таблица с приведённой выше. очень умно сделать таблицу админов в один колумн и не выделить отдельно профиль пользователя. что чаще используется в выборке? =)

    hybroid, 09 Сентября 2010

    Комментарии (18)