Ciao ho una query complessa che se la lancio dal query analyzer mi funziona perfettamente, ma se la lancio dal codice asp mi va in errore.

la query è:

codice:
select --MbaisCMbais,
       right(MbaisCMbais, 3) as Tecnico,
       MbaisTIns,
       ArtbCArtb,
       max(CASE WHEN TcsoCTcso = 'SEDPAL' THEN IstMAT.HAtisDValAtt ELSE '' END) as MatCaricata,
       max(CASE WHEN TcsoCTcso = 'PALSED' THEN IstMAT.HAtisDValAtt ELSE '' END) as MatRientrata,
       max(CASE WHEN xrappCodClassePrinc = 'DDTC' THEN xrappPompa ELSE '' END) as MatDDC,
       max(CASE WHEN xrappCodClassePrinc = 'DDTR' THEN xrappPompa ELSE '' END) as MatDDR
from IstBaseStopMaster
join IstBaseStopRighe on RbaisCRMbais = MbaisCSer
join ArticoliBase on ArtbCSer = RbaiscRArtb
join TabCausaliStop on TcsoCSer = MbaisCRTcso
left join IstAttrStopRColl as IstMAT on IstMAT.HatisCRRbais = RbaisCSer and HatisCrAttr = 4 -- (select AttrCSer from Attributi with (nolock) where AttrCAttr = 'MAT') /* MATRICOLA */
left join xrapportolavoro on xrappDtInsPrinc = MbaisTins and xrappPompa = IstMAT.HAtisDValAtt
where MbaisCMbais like 'MIN%'
  and MbaisTins = '2010-09-17'
  and right(MbaisCMbais, 3)  = 'T50'
group by right(MbaisCMbais, 3),
         MbaisTIns,
         ArtbCArtb,
         IstMAT.HAtisDValAtt
having (max(CASE WHEN TcsoCTcso = 'SEDPAL' THEN IstMAT.HAtisDValAtt ELSE '' END) <> '' and max(CASE WHEN xrappCodClassePrinc = 'DDTC' THEN xrappPompa ELSE '' END) = '') or
       (max(CASE WHEN TcsoCTcso = 'PALSED' THEN IstMAT.HAtisDValAtt ELSE '' END) <> '' and max(CASE WHEN xrappCodClassePrinc = 'DDTR' THEN xrappPompa ELSE '' END) = '')
ho provato a togliere le -- e il commento che c'è all'interno ma mi da l'errore:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Felaktig syntax nära nyckelordet 'left'.


qualche consiglio?