Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-10-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 484
Poder: 17
Neeruu Va por buen camino
Reorganizar datos de una tabla

Hola a todos...

Antes que nada, aclaro que no se bien que titulo ponerle al post.. si alguien se le ocurre otro nombre me dice y lo cambio

Necesito ayuda para poder acomodar los datos de la siguiente manera...
Puede ser en una consulta o procedimiento.... se me están quemando las pestañas y no encuentro la forma de hacerlo.

Tengo una tabla con los siguientes datos.

Código SQL [-]
1-->valor1-->0
2-->valor2-->0
3-->valor3-->0
4-->valor4-->0
5-->0-->valor5
6-->0-->valor6

Cantidad de filas puede variar.

Y yo necesito obtener de alguna forma los datos de la siguiente manera.

Código SQL [-]
1-->valor1-->valor5
2-->valor2-->valor6
3-->valor3-->0
4-->valor4-->0

Otro caso que se puede dar

Código SQL [-]
1-->valor1-->valor3
2-->valor2-->valor4
5-->0       -->valor5
6-->0       -->valor6

El orden de los datos es indiferente....

Desde ya muchas gracias.

Saludos Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #2  
Antiguo 29-10-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Neruu.

Sinceramente no entiendo la relación entre los datos ni la lógica de la reorganización, ¿ Podrías exponerlo con mas detalle ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 29-10-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 484
Poder: 17
Neeruu Va por buen camino
Cool

Hola, esto es, a grandes rasgos lo que tengo que hacer....

Esto es lo que tengo que hacer....

Espero que se entienda...

Mirar el comentario 4 de
Cita:
leonardo_josue
Link


Saluda Atte Neeruu...
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #4  
Antiguo 29-10-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Y cual es el problema?
Justamente tú has dado la solución en ese último link.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 29-10-2014
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.408
Poder: 22
fjcg02 Va camino a la fama
Hola,
en este caso sólo tienes que hacer una inner join de la tabla consigo misma con los campos apropiados.

Código SQL [-]
select T1.*, T2.Campo3 from tabla T1
inner join tabla T2 on ( T1.Campo3 = T2.Campo2 )

y a correr...

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #6  
Antiguo 30-10-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 484
Poder: 17
Neeruu Va por buen camino
Estuve probando con el inner join y resulta que obtengo resultados repetidos....

Supongamos que de un lado del join tengo 3 registros y del otro lado del 2 registros

Datos Originales

Código SQL [-]
     id      Debe   Haber
1-->1-->valor1-->0
2-->1-->valor2-->0
3-->1-->valor3-->0
4-->1-->valor4-->0
5-->1-->0-->valor5
6-->1-->0-->valor6

Yo necesito que el resultado final sea de esta forma
Código SQL [-]
1-->valor1-->valor5
2-->valor2-->valor6
3-->valor3-->0
4-->valor4-->0

Pero obtengo esto:
Código SQL [-]
1-->valor1-->valor5
2-->valor1-->valor6
2-->valor2-->valor5
2-->valor2-->valor6
3-->valor3-->valor5
3-->valor3-->valor6
4-->valor4-->valor5
4-->valor4-->valor6

La consulta que estoy haciendo es la siguiente
Código SQL [-]
SELECT T1.DEBE
         , T2.HABER
FROM TABLA T1
INNER JOIN (SELECT T2.HABER
                  FROM TABLA T2
                  WHERE T2.ID = 1
                   AND T2.HABER <> 0) AS T2
ON(T1.ID = T2.ID)
WHERE T1.ID = 1
AND T1.DEBE <> 0
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
  #7  
Antiguo 30-10-2014
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 484
Poder: 17
Neeruu Va por buen camino
Cool

Después de muchas pruebas y pruebas encontré la solución.

Lo que hago es cargar una tabla temporal ajustando los datos para poder hacer correctamente el inner join... (Entendí donde estaba mi error en la logica...)

Gracias por sus comentarios

Saluda Atte Neeruu!!!
__________________
Saluda Atte Neeruu!!! :)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Retorno de datos procedimiento almacenado andresenlared MS SQL Server 5 24-07-2011 17:34:10
como acceso a los datos que devuelve un procedimiento almacenado? r1d2m3 MS SQL Server 1 26-10-2010 22:49:01
procedimiento Oracle.. como obtengo los datos..??? jam888 Varios 0 30-10-2008 20:46:23
como llamar a un procedimiento de mi base de datos en delphi Anyu Conexión con bases de datos 1 12-08-2008 23:42:23
Como obtengo los datos con un procedimiento almacenado David Conexión con bases de datos 4 21-05-2007 13:05:27


La franja horaria es GMT +2. Ahora son las 17:58:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi