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

    −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
    22. 22
    23. 23
    24. 24
    $iq = tep_db_query('/* Вывод детальной информации по заданному неоригинальному изделию (ART_ID) */
    					/* Общая информация об изделии */
    					/*	ART_ARTICLE_NR - Номер артикула */
    					/*	SUP_BRAND - Название производителя изделия */
    					/*	ART_COMPLETE_DES_TEXT - Описание изделия */
    					SELECT
    						ART_ID,
    						ART_ARTICLE_NR,
    						ART_SEARCH_NR,
    						SUP_BRAND,
    						TD_DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT,
    						products_id,
    						products_price,
    						products_quantity
    					FROM
    					   TD_ARTICLES
    						INNER JOIN TD_DESIGNATIONS ON TD_DESIGNATIONS.DES_ID = ART_COMPLETE_DES_ID
    						INNER JOIN TD_DES_TEXTS ON TD_DES_TEXTS.TEX_ID = TD_DESIGNATIONS.DES_TEX_ID
    						INNER JOIN TD_SUPPLIERS ON SUP_ID = ART_SUP_ID
    					    JOIN products ON products_search_art = ART_SEARCH_NR
    					    JOIN td_suppliers_to_price ON products_brand = stp_price_brand AND products_price_id = stp_price_id AND ART_SUP_ID = stp_td_sup_id
    					WHERE
    						ART_ID = '.$art['LA_ART_ID'].' AND
    						TD_DESIGNATIONS.DES_LNG_ID = 16; ');

    "Отправлю ка я в СУБД немного комментариев, чтобы ему было проще разобраться что тут происходит"

    CyberKiller, 12 Апреля 2015

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

    −170

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    CREATE TABLE `static_answers` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `question_id` int(11) unsigned NOT NULL,
      `title` varchar(255) NOT NULL,
      `is_correct` enum('0','1') NOT NULL,
      `created_at` int(11) unsigned NOT NULL,
      `updated_at` int(11) unsigned NOT NULL,
      `hits` int(10) unsigned NOT NULL DEFAULT '0',
    ...
    )

    Смотрим объявление поля is_correct
    ... Взорвали мозг пытаясь понять, почему: ожидаемый chance = (!фактический chance) в запросе:
    SELECT
    a.`id`, is_correct, IF(`is_correct`, 1, 0) chance
    FROM `static_answers` a
    WHERE q.`id` = 3268

    dwsVad, 12 Марта 2015

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

    −165

    1. 1
    2. 2
    3. 3
    SELECT `score` FROM `score`
    WHERE `score` = (SELECT DISTINCT `score` FROM `score`
      ORDER BY `score` DESC LIMIT 1,1)

    Про именование таблиц и полей...

    smart, 11 Февраля 2015

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

    −170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    CREATE TRIGGER TR_Table1 ON Table1
    INSTEAD OF INSERT
    AS
    INSERT INTO Table1
    SELECT * FROM INSERTED

    Диалект MS SQL
    INSTEAD OF INSERT - триггер, отменяющий вставку и передающий список значений, указанных в запросе в псевдотаблице INSERTED.

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

    German_1984, 23 Января 2015

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

    −167

    1. 1
    2. 2
    3. 3
    CREATE TABLE users (
      --...
      active VARCHAR(1) NOT NULL DEFAULT 'N'

    Lowezar, 19 Января 2015

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

    −164

    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 NEWS (
     ID INT NOT NULL AUTO_INCREMENT
     , NEWS_NAME VARCHAR(300) NOT NULL
     , NEWS_SHORT_NAME VARCHAR(80) NOT NULL
     , NEWS_TEXT VARCHAR(40000) NOT NULL
     , NEWS_SHORT_TEXT VARCHAR(400) NOT NULL
     , NEWS_IMG_1 VARCHAR(60)
     , NEWS_IMG_2 VARCHAR(60)
     , NEWS_IMG_3 VARCHAR(60)
     , NEWS_IMG_4 VARCHAR(60)
     , NEWS_IMG_5 VARCHAR(60)
     , NEWS_IMG_6 VARCHAR(60)
     , NEWS_IMG_7 VARCHAR(60)
     , NEWS_IMG_8 VARCHAR(60)
     , NEWS_IMG_9 VARCHAR(60)
     , NEWS_IMG_10 VARCHAR(60)
     , NEWS_DATE DATE
     , PRIMARY KEY (ID)
    );

    Таблица новостей из одной очень крутой и никому неизвесной CMS на java.
    Сейчас автор думает над тем что делать если пользователяю надо будет загрузить 11 изображений, варианты: увеличить количество полей до 15, ограничить количество изображений на новость.

    lisiy50, 15 Января 2015

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

    −165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    update #tmpTours1 set pricelink = ('<a target="_blank" title="Прайс-лист на ближайшие заезды" href="../pricelist/Complex.aspx?country=' + ltrim(str(cnkey)) + '&tour=' + ltrim(str(tourkey)) + '&dateFrom=' + dbo.mwFirstTourDate(tlkey) + '">' + ltrim(str(tourprice)) + ' ' + tourrate + '</a>')
      
     set @sql = N'select * from #tmpTours1 where tourprice is not null and quota <> case ' + ltrim(str(@quotaYes)) + ' when -1 then -10 else 0 end '
     if len(@sort) > 0
      set @sql = @sql + ' order by ' + @sort
    	print @sql
     exec sp_executesql @sql

    Хранимочки по 1000 строк подобного кода.

    tablecell, 15 Декабря 2014

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

    −169

    1. 1
    LEFT JOIN ($regions_table LEFT JOIN ($states_table LEFT JOIN

    мы встроили вам лефт джоин в лефт джоин чтобы лефтжоинить лефт джоин...

    xAlz, 02 Декабря 2014

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

    −864

    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
    sResult:= '';
       select  code||' '||h.longname into sResult
            from tbl1 mo, tbl2 ob, g_cli c, tbl3 h
          where mo.m_dep_id = ob.obj_dep_id and mo.m_id = ob.obj_id
              and ob.dep_id = nDepId and ob.id = nId
              and  mo.cli_dep_id = c.dep_id and mo.cli_id = c.id
              and c.id = h.id and c.dep_id = h.dep_id and p_operday between h.FROMDATE and h.TODATE;
             return sResult; 
      exception
        when NO_DATA_FOUND then return null;
        when TOO_MANY_ROWS then          
              for rec in(   select  distinct code as cli_code, h.longname as cli_name 
            from tbl1 mo, tbl2 ob, g_cli c, tbl3 h
          where mo.m_dep_id = ob.obj_dep_id and mo.m_id = ob.obj_id
              and ob.dep_id = nDepId and ob.id = nId
              and  mo.cli_dep_id = c.dep_id and mo.cli_id = c.id
              and c.id = h.id and c.dep_id = h.dep_id and dT between h.FROMDATE and h.TODATE)
                loop
                  if nvl(length(sResult),0) = 0 then
                    sResult:= rec.cli_code||' '||rec.cli_name;
                  else
                    sResult:= sResult||', '||rec.cli_code||' '||rec.cli_name;
                  end if;
                end loop;
                return sResult;   
         when others then return null;

    ColvirBydlokod, 25 Ноября 2014

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

    −863

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    SELECT *
    	FROM session s
    	WHERE s.platform IS NOT NULL
    	GROUP BY s.user_id
    	HAVING MAX(s.open_utc)

    Но хоть можно понять что сказать пытались, и на том спасибо.

    Lowezar, 03 Ноября 2014

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