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

Sintaxis SQL...

Estas en el tema de Sintaxis SQL... en el foro de Bases de Datos General en Foros del Web. La cuestion es que tengo esta informacion: El problema es que no se como hacer para que el "HE_ANOMES", "200301", que seria año 2003 mes ...
  #1 (permalink)  
Antiguo 20/02/2005, 13:04
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago, Chile
Mensajes: 191
Antigüedad: 20 años, 7 meses
Puntos: 1
Sintaxis SQL...

La cuestion es que tengo esta informacion:



El problema es que no se como hacer para que el "HE_ANOMES", "200301", que seria año 2003 mes de Enero,´dejarlo/escribirlo de tal forma que se pueda ver de esta manera:



Lei que necesito hacer algo llamado "referencias cruzadas", pero en SQL Server 7 no me reconoce ni el comando "TRANSFORM" ni el "PIVOT" asi que no tengo idea como se podria hacer

Espero que se entienda
Grax!
  #2 (permalink)  
Antiguo 20/02/2005, 13:38
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 2 meses
Puntos: 3
Revisa este post:

http://www.forosdelweb.com/f21/mostrar-resultados-hacia-lado-son-hacia-abajo-mssql-267945/


Saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #3 (permalink)  
Antiguo 20/02/2005, 15:03
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago, Chile
Mensajes: 191
Antigüedad: 20 años, 7 meses
Puntos: 1
...no entendi

osea, logre hacer algo, pero no es lo que quiero
me podrias explicar un poco el codigo que escribiste plis?
  #4 (permalink)  
Antiguo 21/02/2005, 06:10
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 24 años, 2 meses
Puntos: 3
Revisa este enlace.. creo que explican lo que quieres hacer

http://www.microsoft.com/spanish/msd...ces/art196.asp


saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #5 (permalink)  
Antiguo 21/02/2005, 14:55
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago, Chile
Mensajes: 191
Antigüedad: 20 años, 7 meses
Puntos: 1
Código:
SELECT RIGHT(HE_ANOMES, 2) Mes, HD_GLOSA, HE_ANOMES, 
    SUM(CASE MONTH(HE_MONTO) 
    WHEN 1 THEN HE_MONTO ELSE 0 END) AS Enero, 
    SUM(CASE MONTH(HE_ANOMES) 
    WHEN 2 THEN HE_MONTO ELSE 0 END) AS Febrero, 
    SUM(CASE MONTH(HE_ANOMES) 
    WHEN 2 THEN HE_MONTO ELSE 0 END) AS Marzo
FROM HABDES_EFECT, HABEDESC
GROUP BY HE_ANOMES, HD_GLOSA
ORDER BY HE_ANOMES
Ya logre algo y tambien entendi el codigo

Lo que pasa es que el año esta tipo "200301", pero hasta donde se, SQL permite el formato tipo "20030102" osea, "AñoMesDia" asi que no se como hacer para modificar y agregarle 2 valores cualquiera al campo de "HE_ANOMES". Probe con "RIGHT(HE_ANOMES, 2) Mes" y me tira el mes, pero al ponerlo en "SUM(CASE MONTH(RIGHT(HE_ANOMES, 2))" me arroja un error. Tampoco puedo hacer "SUM(CASE MONTH(SUBSTRING(ANOMES,4,2))" ya que es un dato tipo INT.

Que mas puedo hacer?!
  #6 (permalink)  
Antiguo 23/02/2005, 13:06
 
Fecha de Ingreso: mayo-2004
Ubicación: Santiago, Chile
Mensajes: 191
Antigüedad: 20 años, 7 meses
Puntos: 1
Estoy viendo acerca de los cursores para encontrar alguna solucion (no se si tenga algo que ver... :S ) y me encuentro que el FETCH NEXT no me funciona:

Código:
DECLARE authors_cursor CURSOR FOR SELECT au_lname, zip, contract
FROM authors
WHERE contract = '1'
ORDER BY au_lname

OPEN authors_cursor
FETCH NEXT FROM authors_cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT
FROM authors_cursor
END
CLOSE authors_cursor
DEALLOCATE authors_cursor
Eso me arroja solo 1 fila, siendo que me tendria que arrojar muchas mas.

Alguna ayuda? estare en el camino correcto? :S

Última edición por Punchi; 28/02/2005 a las 12:05
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 01:20.