Fórum SQL União! #150420
29/03/2003
0
Salve caros Delphianos,
Venho a vcs de novo para ver se encontra a solução para mais uma dúvida:
Estou querendo fazer uma consulta união. Como assim? Eu explico.
tabela Alunos:
aluCod
aluNome
tabela Exames:
exaALUCod
exaData
exaAprovado
tabela Histórico:
hisALUCod
hisData
hisTitulo
hisTexto
Relacionamentos:
1 Aluno faz N Exames
1 Aluno tem N Historicos
Gostaria de saber se através de uma consulta consigo o seguinte resultado:
aluno1 historico1
aluno1 historico2
aluno1 historico3
aluno1 historico4
aluno1 exame1
aluno1 exame2
aluno1 exame3
...
E se possível, quando utilizasse ordenação crescente pelo campo data o resultado fosse:
aluno1 historico1
aluno1 exame1
aluno1 historico2
aluno1 historico3
aluno1 exame2
aluno1 exame3
aluno1 historico4
...
Desde já agradeço qualquer colaboração.
André Fischer
----------------
Senhor, dê-me Serenidade para aceitar as coisas que não posso mudar, Coragem para mudar as que eu posso e Sabedoria para saber a diferença!
Venho a vcs de novo para ver se encontra a solução para mais uma dúvida:
Estou querendo fazer uma consulta união. Como assim? Eu explico.
tabela Alunos:
aluCod
aluNome
tabela Exames:
exaALUCod
exaData
exaAprovado
tabela Histórico:
hisALUCod
hisData
hisTitulo
hisTexto
Relacionamentos:
1 Aluno faz N Exames
1 Aluno tem N Historicos
Gostaria de saber se através de uma consulta consigo o seguinte resultado:
aluno1 historico1
aluno1 historico2
aluno1 historico3
aluno1 historico4
aluno1 exame1
aluno1 exame2
aluno1 exame3
...
E se possível, quando utilizasse ordenação crescente pelo campo data o resultado fosse:
aluno1 historico1
aluno1 exame1
aluno1 historico2
aluno1 historico3
aluno1 exame2
aluno1 exame3
aluno1 historico4
...
Desde já agradeço qualquer colaboração.
André Fischer
----------------
Senhor, dê-me Serenidade para aceitar as coisas que não posso mudar, Coragem para mudar as que eu posso e Sabedoria para saber a diferença!
Afischer
Curtir tópico
+ 0
Responder
Posts
29/03/2003
Adilsond
SELECT A.aluNome,
E.exaData,
E.exaAprovado
FROM Alunos A,
Exames E
WHERE A.aluCod = E.exaALUCod
UNION ALL
SELECT A.aluNome,
H.hisData,
H.hisTexto
FROM Alunos A,
Historico H
WHERE A.aluCod = H.hisALUCod
ORDER BY 1, 2
Obs: As colunas das duas consultas devem possuir o mesmo tipo de dados, e como voce não especificou o tipo de dados e nem o banco de dados que voce está utilizando fica difícil lhe dar uma informação completa.
Comando SQL.
SELECT ...
FROM...
WHERE...
GROUP BY...
HAVING...
UNION ...
SELECT ...
FROM...
WHERE...
GROUP BY...
HAVING...
ORDER BY ...
E.exaData,
E.exaAprovado
FROM Alunos A,
Exames E
WHERE A.aluCod = E.exaALUCod
UNION ALL
SELECT A.aluNome,
H.hisData,
H.hisTexto
FROM Alunos A,
Historico H
WHERE A.aluCod = H.hisALUCod
ORDER BY 1, 2
Obs: As colunas das duas consultas devem possuir o mesmo tipo de dados, e como voce não especificou o tipo de dados e nem o banco de dados que voce está utilizando fica difícil lhe dar uma informação completa.
Comando SQL.
SELECT ...
FROM...
WHERE...
GROUP BY...
HAVING...
UNION ...
SELECT ...
FROM...
WHERE...
GROUP BY...
HAVING...
ORDER BY ...
Responder
Gostei + 0
30/03/2003
Afischer
Tchê, valeu!
Está funcionando!
Desculpa por não ter mencionado o BD que é o Access.
Valeu mesmo :D
André Fischer
Está funcionando!
Desculpa por não ter mencionado o BD que é o Access.
Valeu mesmo :D
André Fischer
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)