NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 10 : 24
Quer receber novidades e e-books gratuitos?
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »
SQL Server 2005 - CURSO COMPLETO
Autor: Júlio Battisti
Lição 179 - Capítulo 10 - Join com Mais do que Duas Tabelas

Também podemos fazer um Join com mais do que duas tabelas. Sempre o número de Joins será igual ao número de tabelas menos um. Por exemplo, se estivermos relacionando quatro tabelas, teremos três Joins; se estivermos relacionando três tabelas, teremos dois Joins, e assim por diante.

Exemplo: Criar uma listagem com os campos indicados na Tabela 10.4.

Campo Tabela
CódigoDoCliente Clientes
NomeDaEmpresa Clientes
NúmeroDoPedido Pedidos
DataDoPedido Pedidos
TotalPedido ([Quantidade]*[PreçoUnitário])*(1-[Desconto]) da tabela Detalhes do pedido.

Tabela 10.4 Campos – Tabelas.

Teremos uma listagem com o código e o nome do cliente, o número, a data e o total do pedido, sendo que o total é calculado a partir de dados da tabela Detalhes do Pedido. Com isso estamos acessando campos de três tabelas: Clientes, Pedidos e Detalhes do Pedido. Três tabelas = dois Joins.

A seguir temos o comando que retorna a listagem solicitada:

SELECT [Clientes].[CódigoDoCliente], [Clientes].[NomeDaEmpresa],

       [Pedidos].[NúmeroDoPedido],[Pedidos].[DataDoPedido],

       SUM(([Detalhes do Pedido].[Quantidade] * [Detalhes do Pedido].[PreçoUnitário])

       * (1 - [Detalhes do Pedido].Desconto)) AS TotalPedido

FROM

      [Detalhes do Pedido]

INNER JOIN

       [Pedidos] ON [Detalhes do Pedido].[NúmeroDoPedido] = [Pedidos].[NúmeroDoPedido]

INNER JOIN

       [Clientes] ON [Pedidos].[CódigoDoCliente] = [Clientes].[CódigoDoCliente]

GROUP BY

       [Clientes].[CódigoDoCliente], [Clientes].[NomeDaEmpresa],

       [Pedidos].[NúmeroDoPedido],[Pedidos].[DataDoPedido]

ORDER BY

       [Clientes].[CódigoDoCliente]

Na Figura 10.12, temos a parte inicial do resultado retornado:

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 10.12 Utilizando dois JOINs no mesmo comando.

Vamos fazer alguns comentários sobre o comando anterior.

Vamos considerar o trecho onde é feito o Join entre as três tabelas. Na verdade, o Join é feito sempre entre duas tabelas, fizemos duas à duas, conforme indicado no trecho a seguir:

FROM   [Detalhes do Pedido]

INNER JOIN

       [Pedidos] ON [Detalhes do Pedido].[NúmeroDoPedido] = [Pedidos].[NúmeroDoPedido]

INNER JOIN

       [Clientes] ON [Pedidos].[CódigoDoCliente] = [Clientes].[CódigoDoCliente]

Fizemos o Join entre as tabelas [Detalhes do Pedido] e [Pedidos], através do campo [NúmeroDoPedido]. Depois é feito o Join entre as tabelas [Pedidos] e [Clientes], através do campo CódigoDoCliente.

Também utilizamos GROUP BY, para agrupar os diversos itens de cada pedido e a função SUM, para calcular a soma de todos os itens de um mesmo pedido. No final, ordenamos pelo código do cliente – [CódigoDoCliente].

No Apêndice, veremos mais alguns detalhes sobre operações Join.

« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »

você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp

Quer receber novidades e e-books gratuitos?

Cursos Online

  • Banco de Dados
  • Carreira
  • Criação/Web
  • Excel/Projetos
  • Formação
  • + Todas as categorias
  • Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2019 ®

    [LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

    APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI