• Авторизация


Стихи на SQL 04-03-2007 19:27 к комментариям - к полной версии - понравилось!


Не удержался , просто красиво ...


code:

SELECT d.DeptName, p.code, p.PosName, count(*) as all_count,
       w.Salary as Salary,
       w.Bonus1 as Bonus1,
       w.Bonus2 as Bonus2,
       w.Bonus3 as Bonus3,
       rtrim(e.lastname) as f,
       rtrim(e.firstname) as i,
       rtrim(e.middlename) as o


FROM Struc s
   INNER JOIN Positions p ON p.id_pos = s.id_struc
   INNER JOIN Worker w ON s.id_worker = w.id_worker
   LEFT JOIN Empl e ON w.id_empl = e.id_empl
   INNER JOIN Departments d ON s.id_dept = d.id_dept

WHERE s.id_struc in (65, 68, 69, 66, 40, 70, 71)

GROUP BY d.DeptName, p.code, rtrim(e.lastname),rtrim(e.firstname),rtrim(e.middlename),
         p.PosName,
         w.Salary, w.Bonus1, w.Bonus2, w.Bonus3,
         s.DeptOrder

UNION

SELECT d.DeptName, p.code, p.PosName, count(*) as all_count,
       p.Salary as Salary,
       p.Bonus1 as Bonus1,
       p.Bonus2 as Bonus2,
       p.Bonus3 as Bonus3,
       rtrim(e.lastname) as f,
       rtrim(e.firstname) as i,
       rtrim(e.middlename) as o

FROM Struc s
   INNER JOIN Positions p ON p.id_pos = s.id_struc
   INNER JOIN Departments d ON s.id_dept = d.id_dept
   left join worker w on worker.id_worker = struc.id_worker
   LEFT JOIN empl e ON (worker.id_empl=empl.id_empl)

WHERE (s.id_struc in (65, 68, 69, 66, 40, 70, 71)) and (s.id_worker is null)

GROUP BY d.DeptName, p.code,
         rtrim(e.lastname),
         rtrim(e.firstname),
         rtrim(e.middlename),
         p.PosName,
         p.Salary, p.Bonus1, p.Bonus2, p.Bonus3,
         s.DeptOrder



вверх^ к полной версии понравилось! в evernote
Комментарии (7):
Гриня 05-03-2007-00:01 удалить
SQL в умелых руках произведение искусства :) Я в универе такие запросы писал: ребята вешались. Даже одно время чтото типа клички было: "Помощь -> Мастер запросов -> Гриня" )) под кат скрывать тегом more ... /more в таких
SQL у нас в институте будет через 2 год %) Красивый язык , особенно если по стандарту... Но жизнь вообще далека от стандартов. Вот например этот участок очень много проблем ликвидировал , дело в том что надо было выбирать все зарплаты из карточек сотрудников , но не на всех должностях могут быть сотрудники , тогда надо брать зарплаты из карточек должностей +) А вообще бывают и красивей ... и гораздо больше :) Просто этот мне как камень с шеи снял
Гриня 05-03-2007-08:45 удалить
Попробую потрясти ребят, выбить с них мою универскую гордость: запрос в 5 этажей :) тоже похвастаюсь :)
У меня рекорд длинны одного запроса 160 с чем-то строк :) Не уверен сколько там этажей , но этот запрос на половину формирует Т-2 (Личная карточка сотрудника) , там куча объединений в том числе и 7 с одной и той же таблицей , и вообще милый тупой линейный запрос :) А вообще скажу по секрету SQL самый приятный язык , если СУБД следует хоть немного стандарту +)
Гриня 05-03-2007-10:22 удалить
Исходное сообщение Апрельский_Ёжик А вообще скажу по секрету SQL самый приятный язык , если СУБД следует хоть немного стандарту +)
+1 хотя это не секрет ;) это факт :)
08-03-2007-01:40 удалить
Ёж, тебе пост надо было назвать "ламер, гля сюда - почувствуй себя дебилом"... я себя таковым и ощутил)
TLС v.0.7.31c
Да ладно , это все просто и линейно ;) Вот например я не шарю в физике , и очень жалею об этом ... и если ты мне формулку накидаешь то я с тем же успехом почувствую себя гордым представителем племени диблойдов +) Просто в моем понимании это было действительно красиво.


Комментарии (7): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Стихи на SQL | Апрельский_Ёжик - Норка | Лента друзей Апрельский_Ёжик / Полная версия Добавить в друзья Страницы: раньше»