+ Responder ao Tópico



  1. #1
    felco
    Visitante

    Padrão PHP+ADODB where com periodo

    Seguinte galera to usando o ADODB pra fazer um select em uma base de dados MSSQL, no where eu faco isso:

    Código :
    ...and ((PedVenda1.D_DtEmissao >= '12-03-2005') and (PedVenda1.D_DtEmissao <= '01-04-2005')) and...

    Quando eu faco esse select usando o MS Query Analizer ele retorna os dados certos desse periodo, mas quando eu faco o mesmo select usando o PHP + ADODB ele nao retorna nada, eu define a query em uma linha e se eu omitir esse trecho ou eliminar os parenteses e deixar apenas uma data ele retorna, eu sei que o problema esta nesses parenteses e/ou como eu to definindo esse periodo, mas oque esta errado?

  2. #2
    felco
    Visitante

    Padrão PHP+ADODB where com periodo

    Select PedVenda1.D_DtEmissao, PedVenda1.I_NumNota, Clientes.C_Nome, Vendedores.C_Nome, Produtos.C_Descricao, ProdVenda1.N_Qtde, ProdVenda1.N_VlUnitarioCusto, ProdVenda1.N_VlUnitario from PedVenda1, Clientes, Vendedores, Produtos, ProdVenda1 where PedVenda1.I_NumNota <> 0 and PedVenda1.C_Status = 'Fat' and PedVenda1.I_CodCliente = Clientes.I_Codigo and PedVenda1.I_CodVendedor = Vendedores.I_Codigo and ((PedVenda1.D_DtEmissao >= '12-03-2005') and (PedVenda1.D_DtEmissao <= '01-04-2005')) and PedVenda1.I_Codigo = ProdVenda1.I_CodPedVenda and Produtos.I_CodMarca = 539 and ProdVenda1.I_CodProduto = Produtos.I_Codigo group by PedVenda1.D_DtEmissao, PedVenda1.I_NumNota, Clientes.C_Nome, Vendedores.C_Nome, Produtos.C_Descricao, ProdVenda1.N_Qtde, ProdVenda1.N_VlUnitario, ProdVenda1.N_VlUnitarioCusto order by PedVenda1.D_DtEmissao, PedVenda1.I_NumNota

    Essa eh a query completa no geral ela precisa retornar apenas o periodo entra:
    12/03/2005 ate 01/04/2005

  3. #3
    felco
    Visitante

    Padrão PHP+ADODB where com periodo

    Galera encontrei uma solucao melhor doque esta:

    Código :
    ((PedVenda1.D_DtEmissao >= '12-03-2005') and (PedVenda1.D_DtEmissao <= '01-04-2005'))

    Ao invez de definir um periodo dessa forma eu digo pra ele consultar os ultimos, por exemplo, 2 meses:

    Código :
    (DATEDIFF(month, PedVenda1.D_DtEmissao, getdate()) <= 2)

    Valeu!!!