O problema está no relacionamento entre as tabelas Historico_Analises e Utente.
Perceba que você está relacionando duas colunas da tabela Historico_Analises para uma coluna da tabela Utente.
HA_U_IT_Utente=U_Id
HA_U_IT_Medico=U_Id
Qual é o relacionamento correto?
Vamos às explicações:
- Na 1ª imagem que postou, os relacionamentos entre as tabelas estavam na ordem: T_Ana_Ind, Historico_Analises e Tipo_Analise. Quando fez o select, a ordem dos joins estavam invertidos. Neste caso o resultado não interfere (pois estavam relacionadas com INNER JOIN), mas o entendimento fica mais dificil.
- Quanto aos há, h, t.... Isto se chama ALIAS. É apenas um apelido para a tabela. A sintaxe ...from dbo.Tipo_Analise ta... é a mesma coisa de ...from dbo.Tipo_Analise AS ta....
você dá um apelido à tabela. Após isto, quando desejar referenciar algum campo ou fazer os join´s, você não precisará digitar todo o nome dela, apenas referenciá-la pelo apelido.
você pode fazer desta forma:
select Pessoa_Fisica.Nome, Pessoa_Fisica.Idade, Pessoa_Fisica.Endereco from Pessoa_Fisica, ....
Ou então, dar um apelido à tabela Pessoa_Fisica. O mesmo select de cima:
select p.Nome, p.Idade, p.Endereco from Pessoa_Fisica as p, ....
O AS pode ser suprimido, ficando:
select p.Nome, p.Idade, p.Endereco from Pessoa_Fisica p, ....
O select continua a mesma coisa, só que mais "limpo". :.)
Pergunta
fulvio
Tópico inicial: http://scriptbrasil.com.br/forum/index.php?showtopic=148768
Bom dia Viperino,
rs... sem problemas.
O problema está no relacionamento entre as tabelas Historico_Analises e Utente.
Perceba que você está relacionando duas colunas da tabela Historico_Analises para uma coluna da tabela Utente.
HA_U_IT_Utente=U_Id
HA_U_IT_Medico=U_Id
Qual é o relacionamento correto?
Vamos às explicações:
- Na 1ª imagem que postou, os relacionamentos entre as tabelas estavam na ordem: T_Ana_Ind, Historico_Analises e Tipo_Analise. Quando fez o select, a ordem dos joins estavam invertidos. Neste caso o resultado não interfere (pois estavam relacionadas com INNER JOIN), mas o entendimento fica mais dificil.
- Quanto aos há, h, t.... Isto se chama ALIAS. É apenas um apelido para a tabela. A sintaxe ...from dbo.Tipo_Analise ta... é a mesma coisa de ...from dbo.Tipo_Analise AS ta....
você dá um apelido à tabela. Após isto, quando desejar referenciar algum campo ou fazer os join´s, você não precisará digitar todo o nome dela, apenas referenciá-la pelo apelido.
você pode fazer desta forma:
select Pessoa_Fisica.Nome, Pessoa_Fisica.Idade, Pessoa_Fisica.Endereco from Pessoa_Fisica, ....
Ou então, dar um apelido à tabela Pessoa_Fisica. O mesmo select de cima:
select p.Nome, p.Idade, p.Endereco from Pessoa_Fisica as p, ....
O AS pode ser suprimido, ficando:
select p.Nome, p.Idade, p.Endereco from Pessoa_Fisica p, ....
O select continua a mesma coisa, só que mais "limpo". :.)
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.