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

Mostrando y contando registros a la vez

Estas en el tema de Mostrando y contando registros a la vez en el foro de SQL Server en Foros del Web. Buenas, estoy intentando mostrar una serie de secciones Ordenadas de la A a la Z y a su vez y por cada sección mostrar sus ...
  #1 (permalink)  
Antiguo 11/09/2009, 04:00
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Mostrando y contando registros a la vez

Buenas, estoy intentando mostrar una serie de secciones Ordenadas de la A a la Z y a su vez y por cada sección mostrar sus subsecciones ordenadas de la A a la Z también. Hasta ahí todo perfecto. La cuestión es que si es posible en un sólo SELECT mostrar todo lo anterior y el número de las subsecciones contadas, es decir, quiero mostrar algo como esto:

Sección: A
Subsecciones: Aeropuerto, Avion, Avioneta
Encontrados: 3

Sección: B
Subsecciones: Barco, Burro
Encontrados: 2

Sección: C
Subsecciones: Camión, Carrera, Casa, Coche, Corto
Encontrados: 5

No se si me explico.

Saludos.
  #2 (permalink)  
Antiguo 11/09/2009, 07:16
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Mostrando y contando registros a la vez

No, no es posible.
  #3 (permalink)  
Antiguo 11/09/2009, 08:06
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: Mostrando y contando registros a la vez

Yo no entendi. Mejor explica de otra forma.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #4 (permalink)  
Antiguo 11/09/2009, 13:26
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Mostrando y contando registros a la vez

El formateo es mejor hacerlo del lado del front (tu aplicacion)..

pero tal vez algo como esto te podria ayudar, aunque si son muchos registros seria necesario ver si aplica debido a performance:

Código:
IF OBJECT_ID('tbl_SubSeccion')  IS NOT NULL DROP TABLE tbl_SubSeccion

CREATE TABLE tbl_SubSeccion(SubSeccionId INT PRIMARY KEY, SeccionId INT, descripcion VARCHAR(30) )


IF OBJECT_ID('tbl_Seccion') IS NOT NULL DROP TABLE tbl_Seccion

CREATE TABLE tbl_Seccion (SeccionId INT PRIMARY KEY, descripcion varchar(30))




ALTER TABLE [tbl_SubSeccion] ADD CONSTRAINT [FK_SECCIONID] FOREIGN KEY ([SeccionId]) 
                                 REFERENCES [tbl_Seccion] ([SeccionId])


INSERT INTO tbl_Seccion VALUES(1, 'A')
INSERT INTO tbl_Seccion VALUES(2, 'B')
INSERT INTO tbl_Seccion VALUES(3, 'C')

INSERT INTO tbl_SubSeccion VALUES (1, 1, 'Aeropuerto')
INSERT INTO tbl_SubSeccion VALUES (2, 1, 'Avion')
INSERT INTO tbl_SubSeccion VALUES (3, 1, 'Avioneta')

INSERT INTO tbl_SubSeccion VALUES (4, 2, 'Barco')
INSERT INTO tbl_SubSeccion VALUES (5, 2, 'Burro')


INSERT INTO tbl_SubSeccion VALUES (6,  3, 'Aeropuerto')
INSERT INTO tbl_SubSeccion VALUES (7,  3, 'Avion')
INSERT INTO tbl_SubSeccion VALUES (8,  3, 'Avioneta')
INSERT INTO tbl_SubSeccion VALUES (9,  3, 'Barco')
INSERT INTO tbl_SubSeccion VALUES (10, 3, 'Burro')


SELECT 0 PRIORIDAD ,
       SEC.SECCIONID, 
       SEC.DESCRIPCION,
       SUB.SUBSECCIONID,
       SUB.DESCRIPCION
FROM   TBL_SECCION SEC
INNER JOIN 
       TBL_SUBSECCION SUB
ON    SEC.SECCIONID = SUB.SECCIONID
UNION ALL
SELECT 1 PRIORIDAD ,
       SEC.SECCIONID, 
       '' ,
       0 SUBSECCIONID,
       'ENCONTRADOS : ' + CAST(COUNT(1) AS VARCHAR)
FROM   TBL_SECCION SEC
INNER JOIN 
       TBL_SUBSECCION SUB
ON    SEC.SECCIONID = SUB.SECCIONID
GROUP BY SEC.SECCIONID
ORDER BY SEC.SECCIONID, PRIORIDAD, SUB.SUBSECCIONID
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 14/09/2009, 05:31
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Mostrando y contando registros a la vez

¡Gracias por las respuestas!
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:21.