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

tablas temporales... para etiquetas

Estas en el tema de tablas temporales... para etiquetas en el foro de Bases de Datos General en Foros del Web. Que tal amigos! Tengo una consulta que seguramente se resume a una consulta SQL. Se los vos a expresar a traves de un ejemplo. tengo ...
  #1 (permalink)  
Antiguo 02/05/2005, 13:51
 
Fecha de Ingreso: noviembre-2004
Mensajes: 18
Antigüedad: 20 años
Puntos: 0
Pregunta tablas temporales... para etiquetas

Que tal amigos!
Tengo una consulta que seguramente se resume a una consulta SQL.

Se los vos a expresar a traves de un ejemplo.

tengo una tabla de contactos:

SQL: SELECT * FROM contacto

id | nombre | apellido
01 | martin | martinez
02 | hernan | lopez
03 | jose__ | gomez
04 | guille | saions


Y necesito que de una consulta se resulte algo como esto.


id | nombre | apellido | id2 | nombre2 | apellido2
01 | martin | martinez | _02 | hernan_ | lopez
03 | jose__ | gomez___ | _04 | guille_ | saions


Esto lo voy a utilizar para reportear etiquetas.
Les agredezco mucho
  #2 (permalink)  
Antiguo 02/05/2005, 20:13
Avatar de axel_mdq  
Fecha de Ingreso: mayo-2004
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 20 años, 6 meses
Puntos: 0
Lo que se me ocurre que podes hacer es hacer una tabla temporal con el formato id, nombre, apellido, id2, nombre2, apellido2.
Luego hacer 2 inserts, uno con todos los id que sean inpares en id, nombre, apellido y otro con los ids que son pares en id2, nombre2, apellido2.
Supongo que tendría que funcionar.
__________________
Saludos,

Alejandro. :adios:
  #3 (permalink)  
Antiguo 02/05/2005, 22:49
 
Fecha de Ingreso: noviembre-2004
Mensajes: 18
Antigüedad: 20 años
Puntos: 0
Si, me imagino que voy a tener que llevar el problema a un algoritmo en PHP que haga ese trabajo. Hacerlo desde SQL ni idea, es probable que no se pueda.

Gracias por la respuesta, igual.
Saludos
  #4 (permalink)  
Antiguo 03/05/2005, 11:58
Avatar de axel_mdq  
Fecha de Ingreso: mayo-2004
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 20 años, 6 meses
Puntos: 0
La solución que te dí era para el SQL !!
Lo que pasa es que te puse un "pseudo-pseudocódigo" porque no tenia ganas de escribirlo todo.
Supongo que te va a funcionar. Si no entendes decime.
__________________
Saludos,

Alejandro. :adios:
  #5 (permalink)  
Antiguo 04/05/2005, 02:03
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
Si lo que quieres es presentar los datos de esa forma, lo mejor es un algoritmo en php directamente, porque si todo lo basas en poner pares de un lado e impares del otro, ¿qué sucede con los saltos de identificación?.
Si estás seguro de que no va a haber saltos, puedes hacerlo directamente con sql cruzando la tabla consigo misma usando alias:
Código:
select a.id, a.nombre, a.apellido, b.id, b.nombre, b.apellido
from contacto a left join contacto b on a.id=b.id+1
where mod (a.id, 2) = 1 and mod (b.id,2)=0
Espero que te sirva de ayuda.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #6 (permalink)  
Antiguo 09/05/2005, 03:58
 
Fecha de Ingreso: noviembre-2004
Mensajes: 18
Antigüedad: 20 años
Puntos: 0
ahhh!!
muy interesante y muchas gracias a los dos.
Es verdad ese detalle de los saltos de id. En mi caso seguro que los va a haber.
Igual me sirve la información, gracias.

PD:
no habrá una solución que contemple el caso que haya secuencias de id's irregulares (saltos). Haciendole alguna modificación a la consulta que puso VICE?

Martín

Última edición por clasen; 09/05/2005 a las 04:51
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 14:22.