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

    −139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    CREATE TABLE `forums_list`(
        `forum_id` int unsigned NOT NULL AUTO_INCREMENT,
         ...
        `created` datetime NOT NULL DEFAULT NULL,
        `updated` datetime NOT NULL DEFAULT NULL,

    Alex_Slubsky, 16 Января 2013

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

    −163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT news_tbl.*, users_tbl.*,
    GROUP_CONCAT(comments_tbl.comments_id) AS commentsid,
    GROUP_CONCAT(CONCAT ('<hr><h6>Navn: ', comments_tbl.name,'</h6>','<p>',comments_tbl.comment, '</p>') SEPARATOR '<br><br>') AS comments, 
    COUNT(comments_tbl.comments_id) AS comments_count
    FROM news_tbl
    LEFT JOIN comments_tbl ON comments_tbl.news_id = news_tbl.news_id
    LEFT JOIN users_tbl ON news_tbl.user = users_tbl.username
    GROUP BY news_tbl.news_id
    ORDER BY news_tbl.news_id DESC LIMIT 5

    Наткнулся на SO.

    Lowezar, 15 Декабря 2012

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

    −161

    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
    CREATE TABLE calendar
    (
      caldate date NOT NULL,
      "month" integer NOT NULL,
      month_txt character varying(10) NOT NULL,
      "year" integer NOT NULL,
      CONSTRAINT calendar_pkey PRIMARY KEY (caldate)
    )
    CREATE TABLE holiday
    (
      id numeric(10,0) NOT NULL DEFAULT nextval('holiday_seq'::regclass),
      caldate date NOT NULL,
      region integer,
      CONSTRAINT holidaypk PRIMARY KEY (id),
      CONSTRAINT fk_hday_caldate FOREIGN KEY (caldate)
          REFERENCES calendar (caldate) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION,
      CONSTRAINT holidayfk FOREIGN KEY (region)
          REFERENCES region (id) MATCH SIMPLE
          ON UPDATE NO ACTION ON DELETE NO ACTION
    )

    Вот такая вот структура база в проекте в котором я работаю.
    Причём помимо таблицы calendar и дублирование там информации, обратите внимание на таблицу holiday в эту таблицу записи ручками вносятся о выходных днях или о праздниках, как впрочем и в таблицу calendar

    smpl, 10 Декабря 2012

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

    −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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    declare
      v_bonus_account NUMBER;
      v_MSISDN VARCHAR2(32);
      l_app NUMBER;
      v_Result NUMBER;
      v_Message VARCHAR2(2000);
      var_MSISDN VARCHAR2(32);
      v_Event VARCHAR2(32);
      v_Amount NUMBER;
      o_err VARCHAR2(2000);
    BEGIN
      /* Activate service */ 
      v_Result := wpt.bp_services.add_service
      ( i_app => v_MSISDN,
      i_srv => 400714,
      o_err => v_Message,
      to_date('30/12/2012','DD/MM/YYYY')
      );
    END;

    Локализовал код, вызывающий функцию биллинга у арабов, предложенный ими же. И который не компилится.
    В ответ получаю кучу дописок с вызовами других функций, которые ко всему этому не имеют никакого отношения.
    Как убедить пидарасов в том, что ошибки компиляции и ошибки времени исполнения - это как бы совсем разные вещи?
    А то третья неделя уже идёт...

    SadKo, 26 Ноября 2012

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

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ..........
     WHERE
         a.id_contact = b.id AND b.company_id = d.id AND
         RIGHT( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( a.phone, ' ', '' ) , '(', '' ) , ')', '' ) , '-', '' ) , '+', '' ) , 7 )
         LIKE '5085532'
     LIMIT 1

    Кусок запроса, увиденный в списке процессов MySQL

    Lblss, 07 Ноября 2012

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

    −123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    DECLARE @Quarter int --квартал
    DECLARE @Year int --год
    DECLARE @Code int
    ...
    SET @Code =  CAST((CAST(@Year as char(4))+ CAST( (@Quarter) as char))as int)
    ...

    Получаем код квартала вида 20123 - третий квартал 2012 года

    CrazyMORF, 05 Ноября 2012

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

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Чудеса от Oracle. 
    
    --------- работает: 
    select to_number(null) from dual union all
    select to_char(null)       from dual
    
    ------------- меняем строчки местами - не работает
    select to_char(null)       from dual union all
    select to_number(null) from dual

    Null - это чудо расчудесное, что на дереве растет. Кто его увидит, тот от ужаса замрёт.

    dim1r, 02 Ноября 2012

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

    −153

    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
    create table ISU.Н_ЛЮДИ
    (
      ИД             NUMBER(9) not null,
      ФАМИЛИЯ        VARCHAR2(25) not null,
      ИМЯ            VARCHAR2(15) not null,
      ОТЧЕСТВО       VARCHAR2(20),
      ПИН            VARCHAR2(20),
      ИНН            VARCHAR2(20),
      ДАТА_РОЖДЕНИЯ  DATE not null,
      ПОЛ            CHAR(1) not null,
      МЕСТО_РОЖДЕНИЯ VARCHAR2(200),
      ИНОСТРАН       VARCHAR2(3) not null,
      ФИО            VARCHAR2(80),
      ДАТА_СМЕРТИ    DATE default '09.09.9999' not null,
      КТО_СОЗДАЛ     VARCHAR2(40) default USER not null,
      КОГДА_СОЗДАЛ   DATE default SYSDATE not null,
      КТО_ИЗМЕНИЛ    VARCHAR2(40) not null,
      КОГДА_ИЗМЕНИЛ  DATE default SYSDATE not null
    )

    Мопед не мой.
    PL/SQL, крупная организация.
    Oracle, зачем ты разрешил кириллицу в именах полей?

    Miketsukami, 10 Октября 2012

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

    −119

    1. 1
    select count(*) from jxlspp_prices  where 0!=0  or catid = 2	}

    А вот так его!

    virtual_cia, 07 Октября 2012

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

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    SELECT ISNULL(SUM(1), 0) 
     FROM Stat_DailySnapshotPurchases
     WHERE 1=1
      AND ForDate BETWEEN '2012-08-01' AND '2012-09-14'
      AND ItemType = 4

    Оригинальный способ подсчета количества строк

    leon_mz, 01 Октября 2012

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