Ir para conteúdo
Fórum Script Brasil

Jr Aprediz

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Sobre Jr Aprediz

Jr Aprediz's Achievements

0

Reputação

  1. 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
  2. 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.
  3. Estou realizando o tratamento de data. Preciso fazer uma consulta onde com a data de nascimento traga a idade(Isso já conseguir), porém verifiquei que existem data_naciscimento que são maiores que a data atual ex.: Pessoas que nasceram em 2020, aí o calculo traz como negativo, preciso fazer com que seja testado as idades e incluido numa tabela temporária as faixa etárias e que estas idades entrem como 'DATA DE NASCIMENTO ERRADA!', respeitando a seguinte condição da idade: <12 - grave na tabela como 'CRIANÇA' >=12 and <18- grave como 'ADOLESCENTE' >=18 and <30 - grave como 'JOVEM' >=30 and < 60 - 'ADULTO' >=60-'IDOSO' --FUNÇÃO PARA CALCULAR A IDADE BASEADO EM 365 DIAS E 6 HORAS PARA CONSIDERAR A CADA QUATRO ANOS O BISEXTO, ESTÁ FUNCIONANDO select Codigo_Paciente ,cast((cast((getdate() - Data_Nascimento ) as integer)/365.25)as integer) idade from [sys_clinicas].[dbo].[Paciente] --PRECISO COLOCAR ISTO AQUI JÁ TRATADO QUE NO CASO É O CAMPO FAIXA_ETÁRIA DA TABELA TEMPORÁRIA QUE RECEBE O CAMPO DATA_NACIMENTO DA TABELA PACIENTE --RECEBE OS DADOS TRATADOS NA TABELA TEMPORÁRIA INSERT INTO #tmp_comando select Codigo_Paciente, case Sexo WHEN 'F' THEN 'Feminino' WHEN 'M' THEN 'Masculino' end, Data_Nascimento FROM [sYS_CLINICAS].[dbo].[Paciente] where [sys_clinicas].[dbo].[Paciente].Codigo_Paciente <> 0 Espero que tenha ficado claro.
  4. 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
  5. Quero agradecer pois o comando sql funcionou perfeito, não tinha pensado nisto.
  6. Vou testar este comando aqui, mas desde já agradeço.
  7. Pessoal estou com uma dúvida cruel, e que é uma novidade para mim, estou com campo aqui que precisa ser tratado, quero criar duas colunas para ele, pois está delimitado apenas por Barra. o Campo Endereco tem o nome da Rua e Bairro junto, como faço para separar eles no SQL? Endereco UNIDADE SANITARIA DE AGUA BRANCA / CENTRO
  8. Boa noite, pessoal sou novo por aqui, estou aprendendo SQL e estou fazendo uma procedure para carregar uma tabela temporária porém preciso tratar alguns dados antes, por exemplo o o dado na tabela original para o campo sexo está com 'F' e preciso converter na tabela temporária para 'Feminino' e depois jogarei numa tabela que existe no meu BD com os dados já tratados, porém está retornando mais de uma linha, peço um help, sou novo na área: USE [sYSCLINICAS_DW] GO /****** Object: StoredProcedure [dbo].[sp_carregaPaciente] Script Date: 05/12/2011 17:12:35 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[sp_carregaPaciente] AS BEGIN --TESTA SE HÁ TABELA TEMPORÁRIA E CRIA SE NÃO HOUVER if ( select OBJECT_ID('tempdb..#tmp_comando')) > 0 drop table #tmp_comando create table #tmp_comando( id_paciente char(10), desc_sexo char(10), faixa_etaria datetime) --INSERE NA TABELA TEMPORÁRIA OS DADOS DA TABELA DO BANCO SYS_CLINICAS.PACIENTE INSERT INTO #tmp_comando select Codigo_Paciente, Sexo,Data_Nascimento FROM [sYS_CLINICAS].[dbo].[Paciente] where [sys_clinicas].[dbo].[Paciente].Codigo_Paciente <>0 -- ESTA PARTE QUE ESTA RETORNANDO MAIS DE UMA LINHA, DEVERIA APENAS ATUALIZAR O CAMPO QUE DESEJO /*if (select DATALENGTH(desc_sexo) from #tmp_comando) = 'F' begin update #tmp_comando set desc_sexo = 'Feminino' end else begin update #tmp_comando set desc_sexo = 'Masculino' end */ --AQUI É SOMENTE PARA PUDER TESTAR O RETORNO APÓS A EXECUÇÃO DA PROCEDURE select * from #tmp_comando END :wacko:
×
×
  • Criar Novo...