Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
Xicretinho

O que fazer nesse caso, com esse SELECT?

Recommended Posts

É o seguinte galera, tenho um sistema e em uma das telas desse sistema, o usuário pode adquirir um relatório de PEDIDOS. Certo...

Nesse relatório é mostrado informações do CLIENTE, do VENDEDOR, do PEDIDO, e dos ÍTENS PEDIDOS nesse PEDIDO.

Por isso o SELECT abaixo:

SELECT p.pedNumero, p.pedData, c.cliNome, c.cliEndereco, p.pedEndEntrega, c.cliDDD, c.cliTelefone, i.prodCodigo, i.itemPedQtde, pr.prodUnidade, pr.prodDescricao, i.itemPedValorUnit, v.vendNome, v.vendComissao

FROM pedido p

INNER JOIN clientes c ON p.cliCPF = c.cliCPF

INNER JOIN itempedido i ON p.pedNumero = i.pedNumero

INNER JOIN produto pr ON pr.prodCodigo = i.prodCodigo

INNER JOIN vendedor v ON p.vendCodigo = v.vendCodigo

WHERE p.pedNumero = 3

beleeezaaaa, eu guardo tudo o que vir no SELECT em um DATASET...

uso o DATASET pra preencher o relatório com os dados que eu quero

ta perfeito, ta funfando certinho!!

A questão é a seguinte... O filho da mãe, ta me retornando 0 linhas quando não há registro na tabela "ITEMPEDIDO", sendo que isso é indiferente pro relatório. No relatório o principal objetivo é mostrar dados do PEDIDO e junto os do ITEMPEDIDO que estão ligados de certo modo.

Mas quando não há nada no ITEMPEDIDO eu tenho que exibir o relatório pelo menos com os dados do CLIENTE e VENDEDOR.

Agora tenho que achar um jeito de fazer com que o SELECT não se importe com a tabela ITEMPEDIDO, apresentando os dados das outras tabelas, qnd a ITEMPEDIDO for vazia...

Se alguém tiver uma idéia, fico feliz

hahahahahaha

Eu empaquei nessa bagaça!!

Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse ITEMPEDIDO que vc fala é o "p.pedNumero"

Se for ele vai retonar 0 mesmo porque na sua condicional WHERE vc determina:

"exiba tudo ali em cima ONDE p.pedNumero SEJA IGUAL A 3"

Logo se o pedNumero não existir ele não executa nada q está pra cima.....

Se não for p.pedNumero, diz ai qual é o tal ITEMPEDIDO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse ITEMPEDIDO que vc fala é o "p.pedNumero"

Se for ele vai retonar 0 mesmo porque na sua condicional WHERE vc determina:

"exiba tudo ali em cima ONDE p.pedNumero SEJA IGUAL A 3"

Logo se o pedNumero não existir ele não executa nada q está pra cima.....

Se não for p.pedNumero, diz ai qual é o tal ITEMPEDIDO

Ja consegui... de qualquer forma muito obrigado!

O problema era com os INNER JOINS!

Usei LEFT JOINS em alguns deles, e deu tudo certo...

^^

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
Entre para seguir isso  

×
×
  • Criar Novo...