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

Consulta com mais de 3 tabelas


Jr Aprediz

Pergunta

Desculpe minha falta de conhecimento, mas estou apredendo tudo isto aqui, estou com problema: Tenho a TABELA DIM_MEDICO com os campos abaixo, preciso realizar uma consulta de outras tabelas e alimentar a DIM_MEDICO, porém não sei como extrair os dados em uma única consulta:

Aqui é TABELA DIM_MEDICO:

SELECT [id_medico_pk]

,[nome_medico]

,[nome_clinica]

,[especialidade]

,[nome_convenio]

FROM [sYSCLINICAS_DW].[dbo].[Dim_Medico]

GO

Por enquanto na Procedure fiz as consultas individuais, mas quero unir, como faço?

--TRAZ O CODIGO E NOME DO MEDICO DA TABELA ORIGEM

select SYS_CLINICAS .dbo.Medico .Codigo_Medico, SYS_CLINICAS .dbo.Medico .Nome_Medico

from SYS_CLINICAS .dbo.Medico

--TRAZ O NOME DA CLINICA DA TABELA ORIGEM

select [sYS_CLINICAS].[dbo].[Clinica].Nome_Clinica

from [sYS_CLINICAS].[dbo].[Clinica] Inner Join [sYS_CLINICAS].[dbo].[Medico]

On [sYS_CLINICAS].[dbo].[Clinica].Codigo_Clinica = [sYS_CLINICAS] .[dbo].[Medico].Codigo_Clinica

--TRAZ O NOME DA ESPECIALIDADE DA TABELA ORIGEM

select[sYS_CLINICAS] .DBO.Especialidade .Nome_Espec

from SYS_CLINICAS .dbo.Especialidade Inner Join SYS_CLINICAS .dbo.Medico

on SYS_CLINICAS .dbo.Especialidade .Codigo_Espec = SYS_CLINICAS .dbo.Medico .Codigo_Espec

--TRAZ O NOME DO CONVENIO DA TABELA ORIGEM

select SYS_CLINICAS .dbo.Convenio .Nome_Convenio

from SYS_CLINICAS .dbo.Convenio Inner Join sys_clinicas.dbo.Convenio_Utilizacao

on SYS_CLINICAS .dbo.Convenio.Codigo_Convenio = SYS_CLINICAS .dbo.Convenio_Utilizacao .Codigo_Convenio

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde Jr,

Estas dúvidas são para o trabalho? Creio que elas são muito básicas para serem de trabalho...

Aconselho um tutorial ou livro de sql para dar uma olhada nos joins entre tabelas.

Se for exercício de algum curso, não gostaria de ficar respondendo, pois esta é a hora de aprender!!! :.)

Link para o comentário
Compartilhar em outros sites

  • 0
Boa tarde Jr,

Estas dúvidas são para o trabalho? Creio que elas são muito básicas para serem de trabalho...

Aconselho um tutorial ou livro de sql para dar uma olhada nos joins entre tabelas.

Se for exercício de algum curso, não gostaria de ficar respondendo, pois esta é a hora de aprender!!! :.)

Boa tarde Fulvio, na verdade não é do trabalho, porém estou necessitando aprender pois no meu ambiente de trabalho vou trabalhar com SQL agora com um ERP, e precisarei aprender a realizar as consultas. Então estou com um exercício que peguei com um colega e estou tentando resolver e aprender, usando procedimentos e alimentando tabelas. Se puder me ajudar agradeço, sei que as dúvidas são básica, mas sou iniciante na área, vou dá uma olhada nos joins envolvendo 3 ou quatro tabelas, já até achei um material MUITO BOM, desde já agradeço.

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe minha falta de conhecimento, mas como faço para corrigir o problema que tenho na cláusula FROM nos Joins, no 3 e 4 estou com problema:

Tentei enchugar aquele código SQL acima por este:

select SYS_CLINICAS .dbo.Medico .Codigo_Medico, SYS_CLINICAS .dbo.Medico .Nome_Medico,

SYS_CLINICAS.dbo.Clinica.Nome_Clinica , SYS_CLINICAS .DBO.Especialidade .Nome_Espec,

SYS_CLINICAS .dbo.Convenio .Nome_Convenio

from

[sYS_CLINICAS].[dbo].[Clinica] Inner Join SYS_CLINICAS.dbo.Medico On SYS_CLINICAS.dbo.Clinica.Codigo_Clinica = SYS_CLINICAS .dbo.Medico.Codigo_Clinica

Inner Join SYS_CLINICAS .dbo.Especialidade on SYS_CLINICAS .dbo.Especialidade .Codigo_Espec = SYS_CLINICAS .dbo.Medico .Codigo_Espec

Inner Join (SYS_CLINICAS .dbo.Convenio Inner Join sys_clinicas.dbo.Convenio_Utilizacao)

on SYS_CLINICAS .dbo.Convenio.Codigo_Convenio = SYS_CLINICAS .dbo.Convenio_Utilizacao .Codigo_Convenio

where SYS_CLINICAS .dbo.Medico .Codigo_Medico<>0

Link para o comentário
Compartilhar em outros sites

  • 0

Jr.

bom dia.

A primeira coisa para criar o join é identificar quais são as chaves de relacionamento;

identificadas basta fazer o join, ou adicionar as condições de igualdade na clausula where (eu prefiro desta forma).

segue exemplo:

temos 3 tabelas:

A, B e C

create table A(

cod_A int,

descricao varchar(50)

)

create table B(

cod_B int,

descricao varchar(50),

cod_A int

)

create table C(

cod_C int,

descricao(50),

cod_B int

)

* não irei criar as PKs e FKs para acelerar a explicação

as relações entre as tabelas são:

A.cod_A = B.cod_A

B.cod_B = C.cod_B

Neste contexto uma querie que une as 3 tabela seria:

select

a.descricao,

b.descricao,

c.descricao

from a, b, c

where a.cod_A = b.codA

and b.cod_B = c.cod_B

Espero ter ajudado.

Abrs

Caio Cardoso

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
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...