Una sugerencia, cuando tratamos con bases de datos tipo sql, lo mejor es probar las sentencias antes en algún administrador que nos permita editarlas y ejecutarlas para ir detectando errores, una vez que demos con el resultado que queremos entonce si lo pasamos a nuestro código. Además muchos de estos administradores traen forma de guardar los queries por lo que los puedes utilizar para otros proyectos sin tener que volver a abrir todo tu proyecto en Delphi.
En este caso considero estas atacando mal el problema desde el inicio, primero nos concentramos únicamente en SQL.
Código SQL
[-]
select mes.descmes, venta.id_venta, servicios.descservicios, venta.importev
from
venta
join mes on (mes.id_mes=venta.id_mes)
join servicios on (servicios.id_servicios=venta.id_servicios)
where mes.id_mes=1
En ese ejemplo veremos los datos vendidos en el mes de enero (no necesitas las descripciones, es más sencillo con números.
Pruebala con el administrador de tu BD y ve el resultado ya cuando estes seguro, lo pasas a Delphi y lo parametrizas y acomodas.
Esta es la forma más sencilla de no tener dolor de cabeza