CODIGO SQL COMPLETAR

AMELORP 04/07/2012 11:29:34
#405500
Tenho duas tabelas onde criei a cláusula abaixo:

SELECT dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, RTRIM(dbo.aluno.status) AS STATUS,
MAX(CASE WHEN ALUNO_DISCIPLINA.COD_DISC = [ô]BIO[ô] THEN nota1 END) AS N1
FROM dbo.aluno_disciplina INNER JOIN
dbo.aluno_dados ON dbo.aluno_disciplina.matricula = dbo.aluno_dados.matricula INNER JOIN
dbo.aluno ON dbo.aluno_disciplina.matricula = dbo.aluno.matricula
WHERE (dbo.aluno.ano_alu = [ô]2012[ô]) AND (dbo.aluno_disciplina.cod_ser = [ô]2AMM12[ô]) AND (dbo.aluno_disciplina.ano_alu = [ô]2012[ô])
GROUP BY dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, dbo.aluno.status
ORDER BY dbo.aluno_dados.nome


o resultado dessa consulta é:

20100218 AIRES MARIA DO NASCIMENTO GUIMARAES 7,0
20090027 ALAN RODRIGUES DA SILVA 8,5
20100268 ALICE ALENCAR TEIXEIRA 6,5
20120438 ANA BEATRIZ DE BRITO LOURENÇO DA SILVA 6,0


gostaria que nessa mesma consulta eu pudesse mostrar abaixo de cada linha outro campo, por exemplo


20100218 AIRES MARIA DO NASCIMENTO GUIMARAES 7,0 (nota1)
20100218 AIRES MARIA DO NASCIMENTO GUIMARAES 4,0 (nota2)
20090027 ALAN RODRIGUES DA SILVA 8,5 (nota1)
20090027 ALAN RODRIGUES DA SILVA 3,5 (nota2)


onde nota1 representa a média do 1 bimestre e nota2 a media do 2 bimestre, alguem poderia me dar uma dica?



Obrigado desde já!
FFCOUTO 04/07/2012 13:52:35
#405511
Resposta escolhida
Basta você realizar um UNION


SELECT dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, RTRIM(dbo.aluno.status) AS STATUS,
MAX(CASE WHEN ALUNO_DISCIPLINA.COD_DISC = [ô]BIO[ô] THEN nota1 END) AS Nota
FROM dbo.aluno_disciplina INNER JOIN
dbo.aluno_dados ON dbo.aluno_disciplina.matricula = dbo.aluno_dados.matricula INNER JOIN
dbo.aluno ON dbo.aluno_disciplina.matricula = dbo.aluno.matricula
WHERE (dbo.aluno.ano_alu = [ô]2012[ô]) AND (dbo.aluno_disciplina.cod_ser = [ô]2AMM12[ô]) AND (dbo.aluno_disciplina.ano_alu = [ô]2012[ô])
GROUP BY dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, dbo.aluno.status

UNION

SELECT dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, RTRIM(dbo.aluno.status) AS STATUS,
MAX(CASE WHEN ALUNO_DISCIPLINA.COD_DISC = [ô]BIO[ô] THEN [txt-color=#e80000]nota2[/txt-color] END) AS Nota
FROM dbo.aluno_disciplina INNER JOIN
dbo.aluno_dados ON dbo.aluno_disciplina.matricula = dbo.aluno_dados.matricula INNER JOIN
dbo.aluno ON dbo.aluno_disciplina.matricula = dbo.aluno.matricula
WHERE (dbo.aluno.ano_alu = [ô]2012[ô]) AND (dbo.aluno_disciplina.cod_ser = [ô]2AMM12[ô]) AND (dbo.aluno_disciplina.ano_alu = [ô]2012[ô])
GROUP BY dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, dbo.aluno.status

ORDER BY dbo.aluno_dados.nome



AMELORP 05/07/2012 09:22:13
#405564

ISSO MESMO!!! VALEU, OBRIGADO!DE CERTINHO OBRIGADO MESMO!

Citação:

:
Basta você realizar um UNION


SELECT dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, RTRIM(dbo.aluno.status) AS STATUS,
MAX(CASE WHEN ALUNO_DISCIPLINA.COD_DISC = [ô]BIO[ô] THEN nota1 END) AS Nota
FROM dbo.aluno_disciplina INNER JOIN
dbo.aluno_dados ON dbo.aluno_disciplina.matricula = dbo.aluno_dados.matricula INNER JOIN
dbo.aluno ON dbo.aluno_disciplina.matricula = dbo.aluno.matricula
WHERE (dbo.aluno.ano_alu = [ô]2012[ô]) AND (dbo.aluno_disciplina.cod_ser = [ô]2AMM12[ô]) AND (dbo.aluno_disciplina.ano_alu = [ô]2012[ô])
GROUP BY dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, dbo.aluno.status

UNION

SELECT dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, RTRIM(dbo.aluno.status) AS STATUS,
MAX(CASE WHEN ALUNO_DISCIPLINA.COD_DISC = [ô]BIO[ô] THEN [txt-color=#e80000]nota2[/txt-color] END) AS Nota
FROM dbo.aluno_disciplina INNER JOIN
dbo.aluno_dados ON dbo.aluno_disciplina.matricula = dbo.aluno_dados.matricula INNER JOIN
dbo.aluno ON dbo.aluno_disciplina.matricula = dbo.aluno.matricula
WHERE (dbo.aluno.ano_alu = [ô]2012[ô]) AND (dbo.aluno_disciplina.cod_ser = [ô]2AMM12[ô]) AND (dbo.aluno_disciplina.ano_alu = [ô]2012[ô])
GROUP BY dbo.aluno_disciplina.matricula, dbo.aluno_dados.nome, dbo.aluno.status

ORDER BY dbo.aluno_dados.nome



Tópico encerrado , respostas não são mais permitidas