Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

como utilizar pivot o generar columnas

Estas en el tema de como utilizar pivot o generar columnas en el foro de Oracle en Foros del Web. Hola Mi problema es la siguiente necesito generar un archivo texto el cual debe contener asignatura, grupo, matricula1,calificacion1, matricula2, calificacion2 ..........matricula39, calificacion39. El inconveniente es ...
  #1 (permalink)  
Antiguo 02/10/2009, 12:34
 
Fecha de Ingreso: agosto-2008
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
como utilizar pivot o generar columnas

Hola

Mi problema es la siguiente necesito generar un archivo texto el cual debe contener asignatura, grupo, matricula1,calificacion1, matricula2, calificacion2 ..........matricula39, calificacion39.

El inconveniente es que la informacion esta de la siguiente manera:

asignatura grupo matricula calificación
111 101 20905991A 6
111 101 20906982B 7
111 101 20906283C 8
111 101 20907984D 9
112 102 20906982B 7
113 103 20906283C 8
114 104 20907984D 9

Y necesito que se vea asi:

asignatura grupo matricula calificación matricula calificación matricula calificación ................
111 101 20905991A 6 20906982B 7 20906283C 8 ...............
La verdad no tengo idea como realizarlo.
Les comento que son actas de calificación y cada acta puede tener 1 hasta 39 alumnos.

Estoy utilizando base de datos oracle y PHP conexion con ADODB.

ya estuve viendo PIVOT y trabajando con group by pero la verdad no me queda.

Gracias por la ayuda
  #2 (permalink)  
Antiguo 07/10/2009, 18:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: como utilizar pivot o generar columnas

Cita:
Iniciado por msanchez_suarez Ver Mensaje
Hola

Mi problema es la siguiente necesito generar un archivo texto el cual debe contener asignatura, grupo, matricula1,calificacion1, matricula2, calificacion2 ..........matricula39, calificacion39.

El inconveniente es que la informacion esta de la siguiente manera:

asignatura grupo matricula calificación
111 101 20905991A 6
111 101 20906982B 7
111 101 20906283C 8
111 101 20907984D 9
112 102 20906982B 7
113 103 20906283C 8
114 104 20907984D 9

Y necesito que se vea asi:

asignatura grupo matricula calificación matricula calificación matricula calificación ................
111 101 20905991A 6 20906982B 7 20906283C 8 ...............
La verdad no tengo idea como realizarlo.
Les comento que son actas de calificación y cada acta puede tener 1 hasta 39 alumnos.

Estoy utilizando base de datos oracle y PHP conexion con ADODB.

ya estuve viendo PIVOT y trabajando con group by pero la verdad no me queda.

Gracias por la ayuda
*************************************

Ya resolvi el problema que tenia

Genere el query y al ejecutarlo utilice las siguientes instrucciones para leerlo.

$rs = $db->Execute($sql);
While(!$rs->EOF){
$ptla=$rs->fields[0];
$periodoa=$rs->fields[1];
$tnoa=$rs->fields[2];
$numfola=$rs->fields[3];
$gpoa=$rs->fields[4];
$asga=$rs->fields[5];
$totaluma=$rs->fields[6];
$numfora=$rs->fields[7];
$totfora=$rs->fields[8];
$matcal='';
While((!$rs->EOF) and $ptla==$rs->fields[0]and $periodoa==$rs->fields[1]and $tnoa==$rs->fields[2]and $numfola==$rs->fields[3]){
$matcal.=$rs->fields[10];
$rs->MoveNext();
}
$texto=$ptla.$periodoa.$tnoa.$numfola.$gpoa.$asga. $totaluma.$numfora.$totfora.$matcal." \r\n";
echo $texto;
}
El truco esta en la variable $matcal ahi lo concateno y despues lo mando a un archivo texto.

Gracias por la ayuda.

bay
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:56.