Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ivitor

consulta com datas (Parte 2)

Recommended Posts

Fala Pessoal,

graças a deus só estou mandando esta dúvida, pois o nosso amigo Renato Lima, me resolveu a primeira parte e ajudou para que eu chegasse na segunda, mas bem...

 

quando o coloco o operador OR, na query abaixo ela me retorna uma especie de produto cartesiano, mas o que eu gostaria de fazer é retornar os registros em uma faixa de dois meses ou os que não estão pagos!

 

 

SELECT

pagamento_item.cd_pagamento_item,

fornecedor.nm_fantasia,

CONVERT(nvarchar, pagamento_item.dt_vencimento, 103) AS [dt_vencimento],

CONVERT(decimal(10,2), pagamento_item.vl_pagamento) AS [vl_pagamento]

 

FROM

pagamento_item, pagamento, fornecedor

 

WHERE

fornecedor.cd_fornecedor = pagamento.cd_fornecedor

AND

pagamento.cd_pagamento = pagamento_item.cd_pagamento 

AND

Month (pagamento_item.dt_vencimento) >=8 

AND

Month (pagamento_item.dt_vencimento) <=10 

OR

pagamento_item.flg_pago = 0

 

ORDER BY

pagamento_item.dt_vencimento;

um abraço a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se entendi, mas acho que seja isso:

 

WHERE

fornecedor.cd_fornecedor = pagamento.cd_fornecedor

AND

pagamento.cd_pagamento = pagamento_item.cd_pagamento

AND

(( Month (pagamento_item.dt_vencimento) >=8

AND

Month (pagamento_item.dt_vencimento) <=10 )

OR

pagamento_item.flg_pago = 0 )

 

ORDER BY

pagamento_item.dt_vencimento;

 

você pode agrupar as condições no where.

 

Até mais,

 

Renato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve,você poderia melhorar a visualização dessa queryWHEREfornecedor.cd_fornecedor = pagamento.cd_fornecedorANDpagamento.cd_pagamento = pagamento_item.cd_pagamento AND( Month (pagamento_item.dt_vencimento) BETWEEN 8 AND 10 ORpagamento_item.flg_pago = 0 )Ao você colocar as instrução entre PARENTESES você cria uma ordem de prioridades nas comparações, onde o RESULTADO das instruções será unica dentro dos parentes.Ex.:Fornec. Venc. Pagto Valor_Pago Flg_Pago Retorna no SELECT===== ======= ======= ======= ======= =============00001 10/08/2004 05/08/2004 100,00 SIM SIM00002 15/08/2004 0,00 NAO SIM00003 15/09/2004 0,00 NAO SIM00004 15/11/2004 0,00 NAO NÃO00005 15/06/2004 05/08/2004 150,00 SIM SIM00006 20/07/2004 0,00 NAO NÃOEspero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.