CODIGO SQL COMPLETAR
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á!
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á!
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
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