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

Numerar sententencia en sql2000

Estas en el tema de Numerar sententencia en sql2000 en el foro de Bases de Datos General en Foros del Web. Tengo la siguiente consulta que me da un reporte de los productos mas vendidos, necesito saber como hacer para que cuando ordene todas las filas ...
  #1 (permalink)  
Antiguo 19/05/2005, 10:06
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación Numerar sententencia en sql2000

Tengo la siguiente consulta que me da un reporte de los productos mas vendidos, necesito saber como hacer para que cuando ordene todas las filas el SQL las enumere antes de que forme los grupos asi yo podria saber despues al ver los puestos generales, les agradecere su ayuda...
SELECT P.PrePro,P.DesPro,T.CodTie,T.NomTie,SUM(D.CanPro) CanTot,SUM(D.ImpDet) as VenTot,S.CanProSto,F.NomFab,C.FecCab
FROM Producto P,Cabecera C,Detalle D,Stock S,Fabricante F,Tienda T
WHERE D.CodPro=P.CodPro AND C.CodDoc=D.CodDoc AND D.CodPro=S.CodPro AND C.CodTie=S.CodTie AND P.CodFab=F.CodFab
AND C.CodTie=T.CodTie AND C.CabOff=0 AND D.DetOff=0 AND C.CodTipDoc<>2 AND C.CodTipDoc<>3
GROUP BY P.PrePro,P.DesPro,T.CodTie,T.NomTie,S.CanProSto,F. NomFab,C.FecCab
  #2 (permalink)  
Antiguo 19/05/2005, 14:24
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
No entiendo que es lo que necesitas.

¿Quieres una numeracion? Para que si la estas agrupando, la agupacion los elimina (o no agrupa si lo incluyes)

Pon un ejemplo de que quisieras hacer
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 01/06/2005, 13:08
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 19 años, 7 meses
Puntos: 0
numerar Consulta en sql 2000

Te explico mejor, tengo 5 productos en 2 tiendas, quiero primero ordenar todos los productos por mas vendidos, es en este momento donde necesito saber en que puesto esta cada uno luego agruparlos y que tengan la posicion general, se escuchja dificil y estoy que me rompo la cabeza con esto no se si hacer la consulta sin agrupar, luego guardarla en una tabla temporal y con un un autoincrement ya sabria el puesto recien a esto le hago als consultas respectivas, pero suena facil pero no tengo idea de como insertar las filar de las consultas en un atabla, te agradecere tu ayuda sia hora me explique bien, o sino como puedo nuemrar pero cada grupo es decir 1,2, 3...n y cuando muestre otro grupo de nuevo 1, 2 ,3
  #4 (permalink)  
Antiguo 01/06/2005, 14:57
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
¿Has intentado subquerys? Algo como:
Código:
SELECT * 
FROM (SELECT TOP 5 producto, SUM(ventas) AS venta_total FROM ventas GROUP BY producto ORDER BY 2)
ORDER BY campo_standard
¿Se parece a lo que quieres?
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 02/06/2005, 10:03
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 19 años, 7 meses
Puntos: 0
Lo que necesito es de que manera puedo enumerar los registros que me salgan como resultado, con el TOP conseguire los n primeros pero el cliente quiere que asi sean 20 quiere un numerito al costado para hacerlo (esquisiteces de los clientes)
__________________
El amor es aquello que me da la fuerza para seguir, y ella es la bateria que Dios me dio para estar siempre activo. :corazon:
  #6 (permalink)  
Antiguo 03/06/2005, 16:10
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
El numero lo resuelves con tablas en memoria:
Código:
declare @tabla table(a int identity, b nvarchar(100))
insert into @tabla values ('una cosa')
insert into @tabla values ('otra cosa')
insert into @tabla values ('que cosas..')
select * from @tabla
Ojalá lo estés haciendo dentro de un Stored Procedure, eso te facilitará el hacerlo de esta manera.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #7 (permalink)  
Antiguo 06/06/2005, 01:42
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 19 años
Puntos: 0
puedes hacerlo con una subselect donde vayas contanto el número de registros cuya cuenta (count) supere al registro actual. Tengo un ejemplo que te haré llegar.
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 11:27.