Fórum Ajuda com query maluca #44459

24/05/2004

0

Gente

Eu tive que traduzir uma query de um programador do Sql Server para o Firebird. Porem ainda nao estou conseguindo rodar a query ... esta e a query:

SELECT COMPROMISSO.IDCOMPROMISSO, COMPROMISSO.DATACOMPROMISSO,
COMPROMISSO.HORACOMPROMISSO, COMPROMISSO.DESCRICAOCOMPROMISSO,
PESSOACOMPR.NOME, COMPROMISSO.LOCALCOMPROMISSO, COMPROMISSO.OBSCOMP,
PASTA.CODIGO, TIPOACAO.NOMETIPOACAO, PESSOACLIENTE.NOME AS PESSOACLI,
PROCESSO.PROTOCOLOINICIAL, PESSOACONTR.NOME AS PESSOACONT,
COALESCE(CAST(PROCESSO.NUMJURISDICAO as VARCHAR(100)),´´) +
COALESCE(PROCESSO.SUFIXO, ´´) || ´ ´ || COALESCE(JURISDICAO.NOMEJURISDICAO, ´´) || ´ - ´ ||
COALESCE(PESSOAJUIZO.NOME,´´) AS EXPR1
FROM PASTA
LEFT JOIN PROCESSO ON PASTA.IDPASTA = PROCESSO.IDPASTAPROC
LEFT JOIN JURISDICAO ON JURISDICAO.IDJURISDICAO = PROCESSO.IDJURISDICAO
LEFT JOIN PESSOA PESSOACLIENTE ON PASTA.IDPESCLIPRINC = PESSOACLIENTE.IDPESSOA
LEFT JOIN PESSOA PESSOAJUIZO ON PESSOAJUIZO.IDPESSOA = PROCESSO.IDPESSOAJUIZO
LEFT JOIN PESSOA PESSOACONTR ON PESSOACONTR.IDPESSOA = PROCESSO.IDPESADVERSOPRINC
LEFT JOIN TIPOACAO ON TIPOACAO.IDTIPOACAO = PROCESSO.IDTIPOACAOPROC
RIGHT JOIN COMPROMISSO ON PASTA.IDPASTA = COMPROMISSO.IDPASTACOMPROMISSO
LEFT JOIN PESSOA PESSOACOMPR ON PESSOACOMPR.IDPESSOA = COMPROMISSO.IDPESSOACOMPROMISSO
WHERE ((UPPER(COMPROMISSO.TIPOCOMPROMISSO)<>UPPER(´PARTICULAR´)
AND ((PESSOACOMPR.IDESCRITORIO=3) OR (PESSOACOMPR.IDESCRITORIO IS NULL)) )
AND ((DATEPART (´WK´, COMPROMISSO.DATACOMPROMISSO)) = (DATEPART (´WK´, CAST(´2003-08-28´ as TIMESTAMP)))
AND (DATEPART (´YY´, COMPROMISSO.DATACOMPROMISSO)) = (DATEPART (´YY´, CAST(´2003-08-28´ as TIMESTAMP)))
OR (((DATEPART (´YY´, COMPROMISSO.DATACOMPROMISSO)) - (DATEPART (´YY´, CAST(´2003-08-28´ as TIMESTAMP)))
IN (-1, 0, 1) )
AND ((DATEPART (´WK´, COMPROMISSO.DATACOMPROMISSO)) - (DATEPART (´WK´, CAST(´2003-08-28´ as TIMESTAMP)))
IN (-52, 0, 52)) AND (ABS(CAST(CAST(COMPROMISSO.DATACOMPROMISSO as CHAR) as INT) - CAST(CAST(CAST(´2003-08-28´ as TIMESTAMP) as CHAR) as INT)) < 7)) )) OR ((UPPER(COMPROMISSO.TIPOCOMPROMISSO)=UPPER(´PARTICULAR´)) AND ((DATEPART (´WK´, COMPROMISSO.DATACOMPROMISSO)) = (DATEPART (´WK´, CAST(´2003-08-28´ as TIMESTAMP))) AND (DATEPART (´YY´, COMPROMISSO.DATACOMPROMISSO)) = (DATEPART (´YY´, CAST(´2003-08-28´ as TIMESTAMP))) OR (((DATEPART (´YY´, COMPROMISSO.DATACOMPROMISSO)) - (DATEPART (´YY´, CAST(´2003-08-28´ as TIMESTAMP))) IN (-1, 0, 1)) AND ((DATEPART (´WK´, COMPROMISSO.DATACOMPROMISSO)) - (DATEPART (´WK´, CAST(´2003-08-28´ as TIMESTAMP))) IN (-52, 0, 52)) AND (ABS(CAST(CAST(COMPROMISSO.DATACOMPROMISSO as CHAR) as INT) - CAST(CAST(CAST(´2003-08-28´ as TIMESTAMP) as CHAR) as INT)) < 7)) ) AND (COMPROMISSO.IDPESSOACOMPROMISSO = 16) ) ORDER BY COMPROMISSO.DATACOMPROMISSO, COMPROMISSO.HORACOMPROMISSO

onde ABS e DATEPART sao udfs criadas por mim que sao identicas as funcoes de mesmo nome do sqlserver ...

Rafael


Colutti

Colutti

Responder

Posts

24/05/2004

Afarias

qual o erro (mensagem)?!


T+


Responder

Gostei + 0

25/05/2004

Colutti

Oi

a mensagem e :

expression evaluation not supported


Rafael


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar