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

separar consulta en dos columnas

Estas en el tema de separar consulta en dos columnas en el foro de SQL Server en Foros del Web. que tal gente buen dia. veran, estoy haciendo reportes en visual basic 6, tengo un store en sql server 2005 que me devuelve una consulta, ...
  #1 (permalink)  
Antiguo 01/09/2010, 10:49
 
Fecha de Ingreso: agosto-2007
Mensajes: 123
Antigüedad: 16 años, 8 meses
Puntos: 0
separar consulta en dos columnas

que tal gente buen dia.

veran, estoy haciendo reportes en visual basic 6, tengo un store en sql server 2005 que me devuelve una consulta, es un catalogo de productos para vender, la consulta puede devolver entre 45 y 53 registros (depende de una variable), hasta ahi todo bien.

lo que quiero es mostrar esos 50 reg en dos columnas, tratando de que al dividir las columnas el numero sea equitativo, por ejemplo si son 50 reg, que muestre 25 de un lado y 25 del otro, algo mas o menos asi:

id prod precio ------- id prod precio
1 refresco 10 ------- 26 jugo 14
2 agua 8 -----------27 huevo 8
3 carillos 5 ----------.
. ------------------ .
. ------------------.
. ------------------ .
25 pan 13 ----------50 harina 23



(le tuve que poner los guiones para que se diferenciaran las columnas)
algo mas o menos asi, no quiero que me saque los 50 reg seguidos sino divididos.
alguien sabe como podria dividir el resultado de la consulta???

de antemano muchas gracias
saludos
  #2 (permalink)  
Antiguo 01/09/2010, 11:32
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: separar consulta en dos columnas

Prueba asi:
Código SQL:
Ver original
  1. DECLARE @total INT
  2. SELECT @total = COUNT(1) FROM Productos
  3.  
  4. SELECT *
  5. FROM (
  6.     SELECT * FROM Productos WHERE Id <= @total / 2
  7. ) t1
  8. LEFT JOIN (
  9.     SELECT * FROM Productos WHERE Id > @total / 2
  10. ) t2 ON t1.Id + @total / 2 = t2.Id
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: columnas, dos
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 20:05.