- 1
- 2
- 3
- 4
[CompanyName] text null,
[Address] text null,
[Comment] varchar(255),
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−852
[CompanyName] text null,
[Address] text null,
[Comment] varchar(255),
Вот такая оригинальная архитектура таблицы БД :-)
−862
-- находим текущий месяц
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;
из кода доставшегося по наследству.
вот так вот видимо модно проводить поиск по дате
комментерии добавлены при выкладывании сюда
−163
$SQL = "SELECT rq.*, c.login, r.name as raceName,
IF(rq.status = 1, '<span style=\'color:green\'>".$this->kernel->msg->get('raceRequest.status.done')."</span>',
IF(rq.status = -1, '<span style=\'color:red\'>".$this->kernel->msg->get('raceRequest.status.cancel')."</span>',
'".$this->kernel->msg->get('raceRequest.status.request')."')) as statusMsg,
IF(rq.currentLevel = 1, '<span style=\'color:#eeb300\'>".$this->kernel->msg->get('raceRequest.level.gold')."</span>',
IF(rq.currentLevel = 2, '<span style=\'color:#c6cccd\'>".$this->kernel->msg->get('raceRequest.level.silver')."</span>',
'<span style=\'color:#d58b72\'>".$this->kernel->msg->get('raceRequest.level.bronzet')."</span>')) as currentLevelMsg,
IF(rq.requestLevel = 1, '<span style=\'color:#eeb300\'>".$this->kernel->msg->get('raceRequest.level.gold')."</span>',
IF(rq.requestLevel = 2, '<span style=\'color:#c6cccd\'>".$this->kernel->msg->get('raceRequest.level.silver')."</span>',
'<span style=\'color:#d58b72\'>".$this->kernel->msg->get('raceRequest.level.bronzet')."</span>')) as requestLevelMsg
FROM raceRequests rq
LEFT JOIN customers c ON c.ID = rq.customerID
LEFT JOIN races r ON r.ID = rq.raceID
WHERE rq.ID = '%ID'";
Формирование HTML с помощью SQL
−861
errnum := 0;
if (bitand(err, 1) != 0) then
errnum := -20027;
end if;
if (bitand(err, 2) != 0) then
if (errnum = 0) then
errnum := -20028;
else
errnum := -20029;
end if;
end if;
Это PL/SQL
Это мой первый вариант, я заменил его потом на этот, в одну строку:
errnum := -20026 - (bitand(err, 1) + bitand(err, 2));
−854
Select *
From Table1
Where (
(id = 2000)
or
id = ( Select max(id) from Table1 )
)
а я дивувався, чому цей код в табличці > 300 000 записів виконується так довго ...
−855
where
DEP_ID = idDep and ID = idOrd and
DEP_ID = idDep and ID = idOrd and
DEP_ID = idDep and ID = idOrd
−150
SELECT s.id, ( SELECT russianName FROM table2 WHERE countryId=s.region1 ) AS name1,
( SELECT russianName FROM table2 WHERE countryId=s.region2 ) AS name2,
( SELECT russianName FROM table2 WHERE countryId=s.region3 ) AS name3
FROM table1 s LEFT JOIN table2 c WHERE s.countryId = xxx
так мы пытаемся джойнить
−863
SELECT
SQL_CALC_FOUND_ROWS id,
autor,
...бла, бла, бла, ищо штук 15 дефолтных полей...
tags,
perem_1,
perem_2,
perem_3,
perem_4,
perem_5,
perem_6,
perem_7,
perem_8,
perem_9,
perem_10,
perem_11,
perem_12,
perem_13,
perem_14,
perem_15,
perem_16,
perem_17,
perem_18,
perem_19,
perem_20,
perem_21,
perem_22,
poster,
screenshot_1,
screenshot_2,
screenshot_3,
screenshot_4
FROM dle_post
WHERE approve
AND allow_main
AND date < '2010-04-26 04:00:01'
ORDER BY FIXED DESC , date DESC
LIMIT 0 , 6
помните дети, долгое^W употребление LSD^W DLE вредит вашему здоровью
ДЛЕ не способен разделять данные в разделах (видио: разрешение, длительность и тп.; игры: жанр, таблетка, сис.требования и тд...) и вот таким изящным способом дети употреблявшие LSD^W DLE решили свою проблему
−856.6
select to_date(to_char(date_field, 'DD.MM.YYYY'), 'DD.MM.YYYY') from dual
Смысл операция имеет, но есть способы и попроще :)
−131.6
SELECT ct.com_id, cdt.com_name, ct.tax_id, pt.tax_name, tt.date FROM com_table AS ct LEFT OUTER
JOIN com_des_table AS cdt ON cdt.id = ct.com_id LEFT OUTER JOIN payments_table AS pt ON pt.id =
ct.tax_id LEFT OUTER JOIN tax_table AS tt ON tt.tax_id = ct.tax_id WHERE ct.tax_id LIKE '001%' and
ct.com_id = '1' UNION SELECT ct.com_id, cdt.com_name, ct.tax_id, rt.tax_name, tt.date FROM com_table
AS ct LEFT OUTER JOIN com_des_table AS cdt ON cdt.id = ct.com_id LEFT OUTER JOIN reports_table AS
rt ON rt.id = ct.tax_id LEFT OUTER JOIN tax_table AS tt ON tt.tax_id = ct.tax_id WHERE ct.tax_id LIKE
'002%' and ct.com_id = '1' UNION SELECT ct.com_id, cdt.com_name, ct.tax_id, pt.tax_name, tt.date FROM
com_table AS ct LEFT OUTER JOIN com_des_table AS cdt ON cdt.id = ct.com_id LEFT OUTER JOIN
payments_table AS pt ON pt.id = ct.tax_id LEFT OUTER JOIN tax_table AS tt ON tt.tax_id = ct.tax_id
WHERE ct.tax_id LIKE '001%' and ct.com_id = '0' UNION SELECT ct.com_id, cdt.com_name, ct.tax_id,
rt.tax_name, tt.date FROM com_table AS ct LEFT OUTER JOIN com_des_table AS cdt ON cdt.id = ct.com_id
LEFT OUTER JOIN reports_table AS rt ON rt.id = ct.tax_id LEFT OUTER JOIN tax_table AS tt ON tt.tax_id =
ct.tax_id WHERE ct.tax_id LIKE '002%' and ct.com_id = '0' UNION SELECT ct.com_id, cdt.com_name,
ct.tax_id, pt.tax_name, tt.date FROM com_table AS ct LEFT OUTER JOIN com_des_table AS cdt ON cdt.id =
ct.com_id LEFT OUTER JOIN payments_table AS pt ON pt.id = ct.tax_id LEFT OUTER JOIN tax_table AS tt
ON tt.tax_id = ct.tax_id WHERE ct.tax_id LIKE '001%' and ct.com_id = '2' UNION SELECT ct.com_id,
cdt.com_name, ct.tax_id, rt.tax_name, tt.date FROM com_table AS ct LEFT OUTER JOIN com_des_table AS
cdt ON cdt.id = ct.com_id LEFT OUTER JOIN reports_table AS rt ON rt.id = ct.tax_id LEFT OUTER JOIN
tax_table AS tt ON tt.tax_id = ct.tax_id WHERE ct.tax_id LIKE '002%' and ct.com_id = '2' UNION SELECT
ct.com_id, cdt.com_name, ct.tax_id, pt.tax_name, tt.date FROM com_table AS ct LEFT OUTER JOIN
com_des_table AS cdt ON cdt.id = ct.com_id LEFT OUTER JOIN payments_table AS pt ON pt.id = ct.tax_id
LEFT OUTER JOIN tax_table AS tt ON tt.tax_id = ct.tax_id WHERE ct.tax_id LIKE '001%' and ct.com_id = '3'
UNION SELECT ct.com_id, cdt.com_name, ct.tax_id, rt.tax_name, tt.date FROM com_table AS ct LEFT
OUTER JOIN com_des_table AS cdt ON cdt.id = ct.com_id LEFT OUTER JOIN reports_table AS rt ON rt.id =
ct.tax_id LEFT OUTER JOIN tax_table AS tt ON tt.tax_id = ct.tax_id WHERE ct.tax_id LIKE '002%' and
ct.com_id = '3';
Не помню, что именно. Вырыл в старом логе. К сожалению из-за местных ограничений по длине кода не удалось выложить подобные портянки длинной в 10 тыщ символов.