- 1
SELECT users.nick,group.name FROM users,group WHERE user.id='$id' AND group.id=user.group;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−873
SELECT users.nick,group.name FROM users,group WHERE user.id='$id' AND group.id=user.group;
Это мой код. Мне сказали что это говнокод, и порекомендовали спросить здесь.
В чём именно говнокодость, и как надо писать правильно?
−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
Смысл операция имеет, но есть способы и попроще :)