Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida Em Select


Guest Thiago Mengali

Pergunta

Guest Thiago Mengali

tenho uma dúvida:

preciso criar um select no sql server, sendo que preciso unir o seguinte:

select documento.codigo, documento.data, itensdocumento.codigoitem, itendocumento.descricao

documento.codigocliente from documento

inner join documento on documento.codigo = itensdocumento.codigo

O que esta pegando é:

Na tabela Itensdocumento tenho os campos qtde_pedida e qtde_entregue, e preciso que

liste apenas os itens de documento, que tenham todos os itensdocumento.qtde_pedida =

itensdocuemnto.qtde_entregue. Se algum dos itens for diferente não devo mosrar nenhum.

e não posso usar view, stored procedure, nada disso, tem que ser apenas uma instrução

SQL pra ser executada em um gerador de relatórios.

o problema é o seguinte:

Eu consigo gerar um select da quantidade de itens que tem qtde_entregue = qtde_pedida

O que eu preciso é o seguinte: Listar apenas os documentos, em que todos os itens dele tenham qtde_pedida = qtde_entregue.

Por exemplo:

Um documento tem 5 intens, com a 3 com a qtde_pedida = qtde_entregue e 2 com a

qtde_pedida <> qtde_entregue. Este documento não deve aparecer.

Agora se todos os itens do documento tiverem qtde_pedida = qtde_entregue então este pedido deve aparecer com todos os seus itens

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
o problema é o seguinte:

Eu consigo gerar um select da quantidade de itens que tem qtde_entregue = qtde_pedida

O que eu preciso é o seguinte: Listar apenas os documentos, em que todos os itens dele tenham qtde_pedida = qtde_entregue.

Como você mesmo já disse, você precisa listar os itens que apenas estejam com valores iguais, só listará os itens que tem a qtde_pedida igual a qtde_entregue, isso significa uma restrição, listará só aqueles que tiverem essa condição ->(qtde_pedida = qtde_entregue)

Um documento tem 5 intens, com a 3 com a qtde_pedida = qtde_entregue e 2 com a

qtde_pedida <> qtde_entregue. Este documento não deve aparecer.

Agora se todos os itens do documento tiverem qtde_pedida = qtde_entregue então este pedido deve aparecer com todos os seus itens

Como em programação, isso é uma estrutura condicional, você precisa impor a condição, a palavra chave é o quando!!!

quado a opção for verdadeira, executar uma linha lógica de comando!

no seu problema você precisa usar um where, que em português significa quando!!!

Ficaria mais ou menos assim:

select (NOME DOS CAMPOS) ou select * (pra todos os campos)

from (NOME DA TABELA)

where qtde_pedida = qtde_entregue

Esse código listará apenas os itens que estiverem nessa condição (qtde_pedida = qtde_entregue)

Se quizer um campo ou campos específicos escolha select (NOME DOS CAMPOS) ou

se preferir todos os campos da tabela, escolha select *

Não sei se ajudou, mais espero que tenha chegado em seu objetivo!

Abraços...

Paulo!

Editado por paulo_linux
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...