Así a simple vista sólo se me ocurre que pongas entre paréntesis todo el 'join'.
Y existen datos para que devuelva algo con esos parámetros?
Código SQL
[-]
SELECT dbo.mccontratos.ID_RECIBO, dbo.mccontratos.FOLIO, dbo.mccontratos.MES, dbo.mccontratos.ANIO, dbo.mccontratos.NO_CONTRATO, dbo.mccontratos.FECHA_PAGO,
dbo.mccontratos.USUARIO, dbo.mccontratos.DESCUENTO, dbo.mccontratos.SUBTOTAL, dbo.mccontratos.TOTAL, dbo.adq_clave_contrato.CONCEPTO,
dbo.adq_clave_contrato.PRECIO_CLAVE
FROM dbo.mccontratos LEFT OUTER JOIN
(
dbo.adq_clave_contrato ON dbo.mccontratos.NO_CONTRATO = dbo.adq_clave_contrato.NO_CONTRATO AND
dbo.mccontratos.FOLIO = dbo.adq_clave_contrato.FOLIO AND dbo.mccontratos.MES = dbo.adq_clave_contrato.MES AND
dbo.mccontratos.ANIO = dbo.adq_clave_contrato.ANIO
)
WHERE (dbo.mccontratos.MES = 1)
AND (dbo.mccontratos.ANIO = 2009)
AND (dbo.mccontratos.FOLIO = 1)
AND (dbo.mccontratos.NO_CONTRATO = 'SAP-C2009111104')