Hola!!!
Tienes razon...
...Aqui tengo la consulta, obtengo lo resultado, solo que por decir en un año a XAlumno se le dio solo 4 meses la beca, pues el registro se me repite las 4 veces....Siendo que 700 se da cada mes.
IdE---Nom---Febrero---Marzo--Abril--Mayo--Junio--....Diciembre--Total
-1----Juan----700------700---700---700----NULL-.......--NULL--....700
-1----Juan----700------700---700---700----NULL-.......--NULL--....1400
-1----Juan----700------700---700---700----NULL-.......--NULL--....2100
-1----Juan----700------700---700---700----NULL-.......--NULL--....2800
Lo que quiero obtener de resultado es en un solo registro:
IdE---Nom---Febrero---Marzo--Abril--Mayo--Junio--....Diciembre--Total
1----Juan----700------700---700---700----NULL-.......--NULL--....2800
Código SQL
[-]
SELECT i.IdE,i.NomE,YEAR(b.Fecha)as Anio,b.MontoTR,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=2) AS Febrero,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=3) AS Marzo,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=4) AS Abril,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=5) AS Mayo,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=6) AS Junio,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=7) AS Julio,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=8) AS Agosto,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=9) AS Septiembre,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=10) AS Octubre,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=11) AS Noviembre,
(SELECT TotalRecibido FROM BDbeca b1 WHERE b1.IdE=b.IdE AND YEAR(b1.Fecha)=YEAR(b.Fecha)AND MONTH(b1.Fecha)=12) AS Diciembre
FROM BDinscripcion i INNER JOIN BDbeca b ON i.IdE=b.IdE
WHERE year (b.Fecha)='2010'and i.IdE=6
GROUP BY i.IdE,i.NomE,b.IdE,b.Fecha,b.MontoTR
Alguna sentencia o no sé que podria colocar para que me aparezca en un solo registro...
Gracias...
SALUDOS