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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×
×
  • Criar Novo...