Queries specific to reporting

Silly question I suspose but when developing queries specific for
reporting (i.e. read only, multiple table joins, etc.) what is the
prefered way of writing the models and controllers?

Example (simple sql):

SELECT users.id, users.name, ISNULL(SUM(ticketIncidents.totaltime), 0)
AS totalTime, COUNT(ticketIncidents.totaltime) AS totalIncidents
FROM users LEFT OUTER JOIN
  ticketIncidents ON users.id = ticketIncidents.assignedby_id
GROUP BY users.id, users.name
ORDER BY users.name

The above sql is pretty simple but what happen when the sql gets
complicated? Oracle has PL/SQL and MSSQL has Transact-SQL which add the
ability to add procedural elements to the sql. Any thoughts?