ajuda na sql..
Boa tarde pessoal! estou meio engastalhado nesta sql e gostaria da ajuda de vcs se possível..
tenho que obter os seguintes campos de resposta numa sql..
Veiculo,placa,combustivel,Posto,Dataabastecimento,horaabastecimento,
distanciapercorrida,valorlitro,valortotal,consumomédio..
Utilizo o Bd Access
tenho a tabela [b:84427c3352]veiculo[/b:84427c3352] com os capos
-cod
-descricao
-combustivel
a tabela [b:84427c3352]produto[/b:84427c3352] com os campos
-cod
-produto
-preco
a tabela [b:84427c3352]posto[/b:84427c3352] com os campos
-cod
-nome
-endereco
a tabela i[b:84427c3352]nclusao[/b:84427c3352](que seria os cupons que compõe a notafiscal)
-cod
-cupomfiscal
-dtnotafiscal
-horaemissao
-kmtotal
-codcondutor
-codveiculo
-codcentrocusto
-numnotafiscal
a tabela [b:84427c3352]itens[/b:84427c3352](com os itens que compoe o cupom fiscal)com os campos
-cod
-numcupom
-codproduto
-qtdade
a tabela[b:84427c3352] notafiscal [/b:84427c3352]com os campos
-cod
-notafiscal
-codlocal
estou mais ou menos assim.. mas acho que tá errado..
SELECT VEICULO.DESCRICAO,VEICULO.PLACA,VEICULO.COMBUSTIVEL,
POSTO.NOMEPOSTO,PRODUTO.PRECO
INCLUSAO.DTNOTAFISCAL,INCLUSAO.HORAEMISSAO,INCLUSAO.KMTOTAL
FROM INCLUSAO
INNER JOIN
VEICULO ON INCLUSAO.CODVEICULO = VEICULO.CODVEICULO
WHERE VEICULO.DESCRICAO:=VEICULO AND
INCLUSAO.DTNOTAFISCAL BETWEEN:DT1 AND:DT2
tenho que obter os seguintes campos de resposta numa sql..
Veiculo,placa,combustivel,Posto,Dataabastecimento,horaabastecimento,
distanciapercorrida,valorlitro,valortotal,consumomédio..
Utilizo o Bd Access
tenho a tabela [b:84427c3352]veiculo[/b:84427c3352] com os capos
-cod
-descricao
-combustivel
a tabela [b:84427c3352]produto[/b:84427c3352] com os campos
-cod
-produto
-preco
a tabela [b:84427c3352]posto[/b:84427c3352] com os campos
-cod
-nome
-endereco
a tabela i[b:84427c3352]nclusao[/b:84427c3352](que seria os cupons que compõe a notafiscal)
-cod
-cupomfiscal
-dtnotafiscal
-horaemissao
-kmtotal
-codcondutor
-codveiculo
-codcentrocusto
-numnotafiscal
a tabela [b:84427c3352]itens[/b:84427c3352](com os itens que compoe o cupom fiscal)com os campos
-cod
-numcupom
-codproduto
-qtdade
a tabela[b:84427c3352] notafiscal [/b:84427c3352]com os campos
-cod
-notafiscal
-codlocal
estou mais ou menos assim.. mas acho que tá errado..
SELECT VEICULO.DESCRICAO,VEICULO.PLACA,VEICULO.COMBUSTIVEL,
POSTO.NOMEPOSTO,PRODUTO.PRECO
INCLUSAO.DTNOTAFISCAL,INCLUSAO.HORAEMISSAO,INCLUSAO.KMTOTAL
FROM INCLUSAO
INNER JOIN
VEICULO ON INCLUSAO.CODVEICULO = VEICULO.CODVEICULO
WHERE VEICULO.DESCRICAO:=VEICULO AND
INCLUSAO.DTNOTAFISCAL BETWEEN:DT1 AND:DT2
Eric.miranda
Curtidas 0
Respostas
Vinicius2k
30/04/2004
Eric,
É um problema de lógica ou de instrução?
se for de instrução o problema eh aqui :
correto :
Espero ter ajudado...
É um problema de lógica ou de instrução?
se for de instrução o problema eh aqui :
WHERE VEICULO.DESCRICAO[color=red:e2588e7af0]:=[/color:e2588e7af0]VEICULO AND
INCLUSAO.DTNOTAFISCAL BETWEEN:DT1 AND:DT2
correto :
WHERE VEICULO.DESCRICAO[color=red:e2588e7af0] = :[/color:e2588e7af0]VEICULO AND
INCLUSAO.DTNOTAFISCAL BETWEEN :DT1 AND :DT2
Espero ter ajudado...
GOSTEI 0
Eric.miranda
30/04/2004
O problema não é este..
não estou sabendo ligar o restante das tabelas com inner join..
esta consulta tá meio furada.. queria a ajuda de vcs pra montar ela..
não estou sabendo ligar o restante das tabelas com inner join..
esta consulta tá meio furada.. queria a ajuda de vcs pra montar ela..
GOSTEI 0
Emerson Nascimento
30/04/2004
creio q seja isso:
select veiculo.descricao,veiculo.placa,veiculo.combustivel,
          posto.nomeposto,produto.preco,
          inclusao.dtnotafiscal,inclusao.horaemissao,inclusao.kmtotal
from inclusao
left join veiculo on (veiculo.cod = inclusao.codveiculo)
left join itens on (itens.numcupom = inclusao.cupomfiscal) // para buscar o produto
left join produto on (produto.cod = itens.codproduto)
left join notafiscal on (notafiscal.notafiscal = inclusao.numnotafiscal) // para buscar o posto
left join posto on (posto.cod = notafiscal.codlocal) // suponho que seja codlocal
where (veiculo.descricao = :veiculo) and
          (inclusao.dtnotafiscal between :dt1 and :dt2)
mas para exemplificar melhor, vc poderia passar alguns valores possíveis para essas tabelas. assim os colegas do fórum poderiam te ajudar de uma melhor forma...
select veiculo.descricao,veiculo.placa,veiculo.combustivel,
          posto.nomeposto,produto.preco,
          inclusao.dtnotafiscal,inclusao.horaemissao,inclusao.kmtotal
from inclusao
left join veiculo on (veiculo.cod = inclusao.codveiculo)
left join itens on (itens.numcupom = inclusao.cupomfiscal) // para buscar o produto
left join produto on (produto.cod = itens.codproduto)
left join notafiscal on (notafiscal.notafiscal = inclusao.numnotafiscal) // para buscar o posto
left join posto on (posto.cod = notafiscal.codlocal) // suponho que seja codlocal
where (veiculo.descricao = :veiculo) and
          (inclusao.dtnotafiscal between :dt1 and :dt2)
mas para exemplificar melhor, vc poderia passar alguns valores possíveis para essas tabelas. assim os colegas do fórum poderiam te ajudar de uma melhor forma...
GOSTEI 0
Eric.miranda
30/04/2004
Valeu pela ajuda meu emerson..
mas tá dando o seguinte erro
ERRO DE SINTAXE(OPERADOR FALTANDO) NA EXPRESSAO DE CONSULTA
´(veiculo.codveiculo = inclusao.codveiculo)
left join itens on (itens.numcupom = inclusao.cupomfiscal)
left join produto on (produto.codprod = itens.codproduto)
left join notafiscal on (notafiscal.Codnota = inclusao.notafiscal)
left join posto on (p´
VC SABE ME DIZER COMO RESOLVER ISSO?
mas tá dando o seguinte erro
ERRO DE SINTAXE(OPERADOR FALTANDO) NA EXPRESSAO DE CONSULTA
´(veiculo.codveiculo = inclusao.codveiculo)
left join itens on (itens.numcupom = inclusao.cupomfiscal)
left join produto on (produto.codprod = itens.codproduto)
left join notafiscal on (notafiscal.Codnota = inclusao.notafiscal)
left join posto on (p´
VC SABE ME DIZER COMO RESOLVER ISSO?
GOSTEI 0
Emerson Nascimento
30/04/2004
passe a instrução completa.
uma outra coisa: na definição da tabela NOTAFISCAL não existe o campo CodNota e na tabela INCLUSAO não existe o campo NotaFiscal.
veja se a definição das tabelas que vc passou está correta ou se vc não digitou a instrução SQL de forma errada.
uma outra coisa: na definição da tabela NOTAFISCAL não existe o campo CodNota e na tabela INCLUSAO não existe o campo NotaFiscal.
veja se a definição das tabelas que vc passou está correta ou se vc não digitou a instrução SQL de forma errada.
GOSTEI 0
Eric.miranda
30/04/2004
A INSTRUÇÃO É EXATAMENTE COMO ESCREVI NA MENSAGEM ANTERIOR..ANTES TEM SÓ SQL GENERAL ERROR.
E OS CAMPOS A QUAL VC SE REFERIU ESTÃO CERTOS NA CONSULTA.. OS DIGITADOS NA TABELA QUE ESTAVAM ERRADOS..
TÁ COMPLICADO NÉ?
E OS CAMPOS A QUAL VC SE REFERIU ESTÃO CERTOS NA CONSULTA.. OS DIGITADOS NA TABELA QUE ESTAVAM ERRADOS..
TÁ COMPLICADO NÉ?
GOSTEI 0