#

Jump to content

  • Login via Facebook Login com Twitter
  • Cadastre-se no Fórum do BABOO!





 

Foto

Comando Inner Join


Minimizar/MaximizarImagens para Papel de Parede

  • Cachoeira no rio
  • Arte Digital - 35
  • Arte Digital - 12
  • Animais - 18
  • Ferrari - 42
  • Natureza Morta - 36
  • Mulheres lindas - 02
  • Carro - interior 05
  • Motos off-road - 37
  • Arte Digital - 23

  • Faça login para responder
Existem 7 respostas neste tópico

#1
Link desta mensagem
Portuga2112

Portuga2112
  • Participante
  • 4 mensagens

Publicado 12/nov/11 12:02 h

Boa Noite.

Alguém poderia me ajudar com esses 3 exercicios onde tenho que utilizar o comando Inner Join??

Segue um exemplo:

Ver os pedidos de cada cliente: SELECT Cliente.nome,Pedido.cod_cliente,pedido.num_pedido FROM Cliente INNER JOIN Pedido ON Cliente.Cod_cliente = Pedido.Cod_cliente
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Mostre os cliente (ordenados) que têm prazo de entrega maior que 15 dias para o produto "ARROZ" e sejam do Rio de Janeiro.

Mostre todos os vendedores que venderam chocolate em quantidade superior a 5 Kg.

Quantos clientes da cidade do Rio de Janeiro e de Niterói tiveram seus pedidos tirados pelo vendedor "PAULO" fez no mês de janeiro.

A tabela no caso é essa:

CLIENTE: Cod_cliente,Nome,Endereco
PEDIDO: Num_Pedido,Prazo_Entrega Cod_Cliente, Cod_Vendedor,Data
ITEMPEDIDO: num_pedido,Cod_produto,Quantidade
PRODUTO: Cod_produto,Descrição,Unidade,ValUnidade.
VENDEDOR: Cod_Vendedor,Nome, Comissao,Salario



Se alguém conseguir me ajudar eu ficaria muito agradecido

Luiz

Publicidade
Publicidade

#2
Link desta mensagem
nickosoft

nickosoft

    Hardware Expert

  • Colaborador
  • 4.001 mensagens

Publicado 12/nov/11 04:38 h

onde esta a duvida? ou nao fez nada e quer pronto?(assim nao aprende)
essas tabelas dados pro exemplo tem os dados?

vc entende a definicao do q é um INNER JOIN?
a primeira é um INNER JOIN simples entre 2 tabelas
essa segunda e terceira ja envolve 3 tabelas
VB.Net & C#

#3
Link desta mensagem
Portuga2112

Portuga2112
  • Participante
  • 4 mensagens

Publicado 12/nov/11 09:40 h

É uma lista de exercicios que o professor passou para estudo de prova, esses foram os unicos exercicios que não consegui fazer no SQL Manager.

#4
Link desta mensagem
nickosoft

nickosoft

    Hardware Expert

  • Colaborador
  • 4.001 mensagens

Publicado 12/nov/11 01:27 h

é pq se vc sabe o cenceito do comando, é super simples de entender....

O INNER JOIN retornam registros quando há pelo menos uma combinacao em ambas as tabelas

vou por um inner join explicado e vc da seus pulos

strSQL = "SELECT L.log_tipo_logradouro, L.descricaonaoabreviada, L.uf, C.descricao_b, B.descricao "
strSQL = strSQL & "FROM "
strSQL = strSQL & "((tbllogradouros L "
strSQL = strSQL & "INNER JOIN tblcidades C ON L.codigocidade = C.codigo) "
strSQL = strSQL & "INNER JOIN tblbairros B ON B.codigo = L.codigobairro) "
strSQL = strSQL & "WHERE L.cep like '" & mskCep.Text.Replace("-", "") & "'"

mostrar na tela log_tipo_logradouro, descricaonaoabreviada, uf, descricao_b e descricao
da tabela tbllogradouros q vira abreviacao L, a combinacao com a tabela tblcidades q vira abreviacao C, a combinacao entre l-codigocidade com c-codigo, q vai entrar uma combinacao tblbairros virando B, b-codigo com l-codigobairro, isso tudo qnd l-cep valer a entrada nessa mascara mskcep, onde ainda substitui o - da mascara por nada, afinal na tabela o cep é direto 00000000 e na mascara mostra direitinho pro cliente 00000-000
VB.Net & C#

#5
Link desta mensagem
Portuga2112

Portuga2112
  • Participante
  • 4 mensagens

Publicado 14/nov/11 09:47 h

Então no caso do primeiro exercicio que eu coloquei ficaria assim?

SELECT cliente.nome FROM cliente INNER JOIN pedido
ON cliente.cod_cliente=pedido.cod_cliente
INNER JOIN itempedido ON pedido.num_pedido = itempedido.num_pedido
INNER JOIN produto ON itempedido.cod_produto= produto.cod_produto
WHERE pedido.prazo_entrega > 15 AND produto.descricao="ARROZ" AND cliente.endereco = "Rio de Janeiro"
ORDER BY cliente.nome

#6
Link desta mensagem
nickosoft

nickosoft

    Hardware Expert

  • Colaborador
  • 4.001 mensagens

Publicado 15/nov/11 05:24 h

ao meu ver seria isso sim...nao sei se o order by foi ensinado a vcs, pra usar o asc e desc apos o campo.....
bom mesmo com o banco de dados populado pra testar....
se nao tem, crie um e coloque algumas informacoes pra testar, pouca coisa mesmo so pra teste, e nas informacoes q colocar, preencha umas q atendam aos criterios e outras q certamente nao atendem, justamente pra ver a filtragem se ocorre como quer, até mesmo o order by.....é a melhor forma de verificar...
VB.Net & C#

#7
Link desta mensagem
Portuga2112

Portuga2112
  • Participante
  • 4 mensagens

Publicado 15/nov/11 07:23 h

Valeu pela ajuda!!

#8
Link desta mensagem
nickosoft

nickosoft

    Hardware Expert

  • Colaborador
  • 4.001 mensagens

Publicado 15/nov/11 08:46 h

a gente tenta....lembro q a primeira vez q tive q usar um infeliz de um inner join apanhei muito, pq na entendia, e nao achei ninguem pra dar uma luz, tentar explicar alguma coisa....
ainda q eu ache q nao sei explicar nada, me enrolo no meio....
VB.Net & C#


  Publicidade  
Publicidade