Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

nyctalus

Coluna com o Saldo

Mensagens Recomendadas

nyctalus

Boa tarde,

estou a tentar criar uma análise avançada em Software PHC cuja ideia é apresentar uma coluna com o saldo, mas estou a obter este erro:

Microsoft]

[sql Server]An expression of non-boolean type specified in a context where a condition is expected, near ´or´

Estou farto de dar voltas e não consigo ver onde estou a errar, este é o código:

select datalc as Data,cmdesc+(space(2)) as Documento,adoc as No,ref as Referencia,design as Designação,

(case when cm<50 then qtt else 0 end) as Entradas,

(case when cm>50 then qtt else 0 end) as Saidas,

(select sum(sl2.qtt*case when sl2.cm>50 then -1 else 1 end) from sl sl2

where sl2.ref=sl.ref and (sl2.datalc or (sl2.datalc=sl.datalc and sl2.ousrdata or (sl2.datalc=sl.datalc and sl2.ousrdata=sl.ousrdata and sl2.ousrhora<=sl.ousrhora)

)) as saldo

from sl (nolock)

where sl.ref=#1# and convert(char(8),sl.datalc,112) <= convert(varchar,getdate())

order by sl.datalc,sl.ousrdata,sl.ousrhora,sl.cm,sl.adoc

Será que alguem me pode dar uma ajuda?

Cumprimentos,

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DocasOrelhas

Olá!

o teu problema é que estás a usar campos datetime como bit.

Verifica na query:

where sl2.ref=sl.ref and (sl2.datalc or (sl2.datalc=sl.datalc and sl2.ousrdata or (sl2.datalc=sl.datalc and sl2.ousrdata=sl.ousrdata and sl2.ousrhora<=sl.ousrhora)

Nos locais marcados o SQL está espera de uma expressão lógica (boolean) e tu estas a dar-lhe uma data.

Corrige e fica tudo ok! (eu já experimentei!)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.