D>>Ну, хорошо. Как написать вот такой запрос на ОРМ.NET?
НС>Что такое ОРМ.NET? Любой ORM под дотнет?
Я ни одним не владею, поэтому да, любой. Мне для примера понять, как оно будет выглядеть.
D>>Это реальный запрос и, наверно, самый сложный, который я реально применяю.
D>>select count(e.id), l.id, l.name from location l left outer join event e on (e.cr_date >= now() - '#{sanitize(period)}h'::interval and e.location_id = l.id) group by l.id order by l.id asc
D>>Фрагмент "e.cr_date >= now() — '#{sanitize(period)}h'::interval" означает "за последние period часов".
НС>Оно точно рабочее? Потому что известные мне сервера скажут, что l.name отсутствует в group by.

у меня на PostgreSQL 9.1 вполне работает, это copy&paste из рабочего проекта.
Таблица event содержит события, таблица location — места этих событий, связка event->location "много к одному". Запрос возвращает кол-во событий по локациям за указанное кол-во часов он настоящего времени. Для тех локаций, в которых событий не было — 0, для этого, собсно, outer join.