Fórum ajuda na sql.. #229120

30/04/2004

0

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


Eric.miranda

Eric.miranda

Responder

Posts

30/04/2004

Vinicius2k

Eric,

É 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...


Responder

Gostei + 0

03/05/2004

Eric.miranda

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..


Responder

Gostei + 0

03/05/2004

Emerson Nascimento

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...


Responder

Gostei + 0

03/05/2004

Eric.miranda

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?


Responder

Gostei + 0

03/05/2004

Emerson Nascimento

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.


Responder

Gostei + 0

03/05/2004

Eric.miranda

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É?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar