Não Traz dados
08/09/2022
0
SELECT gb_produtotratamento.IdCustoTartamento, gb_custotratamento.DateTratamento, gb_produtotratamento.idGrupo, gb_grupo.Descricao AS 'DescriçãoG', gb_produtotratamento.IdSubGrupo, gb_subgrupo.Descricao AS 'Descrição do Subgrupo', gb_produtotratamento.Produto, gb_produto.DESCRICAO AS 'Descrição do Produto', gb_produtotratamento.M3, gb_produtotratamento.Quantidade, gb_produtotratamento.Subtotal FROM ((((gb_custotratamento INNER JOIN gb_produtotratamento ON(gb_custotratamento.idCustoTratamento=gb_produtotratamento.IdCustoTartamento) INNER JOIN gb_grupo ON(gb_produtotratamento.idGrupo=gb_grupo.IdGrupo) INNER JOIN gb_subgrupo ON(gb_produtotratamento.IdSubGrupo=gb_subgrupo.IdSubGrupo) INNER JOIN gb_produto ON(gb_produtotratamento.Produto=gb_produto.IdProduto))))) WHERE DateTratamento BETWEEN :dti AND :dtf
Salomao.coelho
Posts
08/09/2022
Emerson Nascimento
como você usou INNER JOIN, se não houver informação (baseada no relacionamento) em qualquer das tabelas, não haverá retorno de dados.
08/09/2022
Salomao.coelho
como você usou INNER JOIN, se não houver informação (baseada no relacionamento) em qualquer das tabelas, não haverá retorno de dados.
08/09/2022
Emerson Nascimento
SELECT prodtrat.IdCustoTartamento, custo.DateTratamento, prodtrat.idGrupo, gb_grupo.Descricao AS 'DescriçãoG', prodtrat.IdSubGrupo, sgrupo.Descricao AS 'Descrição do Subgrupo', prodtrat.Produto, prod.DESCRICAO AS 'Descrição do Produto', prodtrat.M3, prodtrat.Quantidade, prodtrat.Subtotal FROM gb_custotratamento custo LEFT JOIN gb_produtotratamento prodtrat ON prodtrat.IdCustoTartamento = custo.idCustoTratamento LEFT JOIN gb_grupo ON gb_grupo.IdGrupo = prodtrat.idGrupo LEFT JOIN gb_subgrupo sgrupo ON sgrupo.IdSubGrupo = prodtrat.IdSubGrupo LEFT JOIN gb_produto prod ON prod.IdProduto = prodtrat.Produto WHERE custo.DateTratamento BETWEEN :dti AND :dtf
note que eu troquei todos os INNER JOIN por LEFT JOIN.
execute a consulta assim.
se retornar NÃO retornar dados, há um problema na condição da consulta (WHERE).
se retornar dados, então vá trocando os LEFT por INNER, um de cada vez e executando a consulta após a troca.
Entendeu o esquema? Troque um LEFT por INNER e execute. Quando não retornar dados você terá encontrado a tabela/relacionamento problemático.
09/09/2022
Salomao.coelho
SELECT prodtrat.IdCustoTartamento, custo.DateTratamento, prodtrat.idGrupo, gb_grupo.Descricao AS ''DescriçãoG'', prodtrat.IdSubGrupo, sgrupo.Descricao AS ''Descrição do Subgrupo'', prodtrat.Produto, prod.DESCRICAO AS ''Descrição do Produto'', prodtrat.M3, prodtrat.Quantidade, prodtrat.Subtotal FROM gb_custotratamento custo LEFT JOIN gb_produtotratamento prodtrat ON prodtrat.IdCustoTartamento = custo.idCustoTratamento LEFT JOIN gb_grupo ON gb_grupo.IdGrupo = prodtrat.idGrupo LEFT JOIN gb_subgrupo sgrupo ON sgrupo.IdSubGrupo = prodtrat.IdSubGrupo LEFT JOIN gb_produto prod ON prod.IdProduto = prodtrat.Produto WHERE custo.DateTratamento BETWEEN :dti AND :dtf
note que eu troquei todos os INNER JOIN por LEFT JOIN.
execute a consulta assim.
se retornar NÃO retornar dados, há um problema na condição da consulta (WHERE).
se retornar dados, então vá trocando os LEFT por INNER, um de cada vez e executando a consulta após a troca.
Entendeu o esquema? Troque um LEFT por INNER e execute. Quando não retornar dados você terá encontrado a tabela/relacionamento problemático.
09/09/2022
Salomao.coelho
SELECT prodtrat.IdCustoTartamento, custo.DateTratamento, prodtrat.idGrupo, gb_grupo.Descricao AS ''DescriçãoG'', prodtrat.IdSubGrupo, sgrupo.Descricao AS ''Descrição do Subgrupo'', prodtrat.Produto, prod.DESCRICAO AS ''Descrição do Produto'', prodtrat.M3, prodtrat.Quantidade, prodtrat.Subtotal FROM gb_custotratamento custo LEFT JOIN gb_produtotratamento prodtrat ON prodtrat.IdCustoTartamento = custo.idCustoTratamento LEFT JOIN gb_grupo ON gb_grupo.IdGrupo = prodtrat.idGrupo LEFT JOIN gb_subgrupo sgrupo ON sgrupo.IdSubGrupo = prodtrat.IdSubGrupo LEFT JOIN gb_produto prod ON prod.IdProduto = prodtrat.Produto WHERE custo.DateTratamento BETWEEN :dti AND :dtf
note que eu troquei todos os INNER JOIN por LEFT JOIN.
execute a consulta assim.
se retornar NÃO retornar dados, há um problema na condição da consulta (WHERE).
se retornar dados, então vá trocando os LEFT por INNER, um de cada vez e executando a consulta após a troca.
Entendeu o esquema? Troque um LEFT por INNER e execute. Quando não retornar dados você terá encontrado a tabela/relacionamento problemático.
RESOLVIDO - era a Where os dados chegavam no formato dd/mm/yyyy e o Babco de dados não reconhecia tive que criar Format('yyyy-mm-dd', campo)
Clique aqui para fazer login e interagir na Comunidade :)