Foros del Web » Programando para Internet » ASP Clásico »

problema con consulta...

Estas en el tema de problema con consulta... en el foro de ASP Clásico en Foros del Web. hola a todos.... tengo esta consulta....esto lo estoy haciendo en .asp con BD sql server Set rs1 = conexion.Execute("select C.Consecutivo, C.Nombre, C.Empresa, C.Usuario from Calc_Clientes ...
  #1 (permalink)  
Antiguo 21/08/2007, 13:47
 
Fecha de Ingreso: julio-2007
Ubicación: barranquilla, colombia
Mensajes: 16
Antigüedad: 16 años, 11 meses
Puntos: 0
problema con consulta...

hola a todos....

tengo esta consulta....esto lo estoy haciendo en .asp con BD sql server

Set rs1 = conexion.Execute("select C.Consecutivo, C.Nombre, C.Empresa, C.Usuario from Calc_Clientes C where C.Usuario='Ndecastro' and C.Consecutivo in (Select ConsecutivoCliente from Calc_Quick_Tableros where ConsecutivoCliente=C.Consecutivo) order by Usuario, Empresa")

Quisiera utilizar el group by para C.Usuario para que me salga un solo registro de ese campo, ya que si no lo utilizo me salen varios registros del mismo nombre...He intentado hacerlo de varias formas pero no he podido...

tonses en esa consulta me aparece asi...

USUARIO------------Consecutivo

NOM1-----------------10
NOM1-----------------11
NOM1-----------------12
NOM2-----------------5
NOM2-----------------6
NOM3-----------------50
NOM4-----------------40
NOM4-----------------35
NOM4----------------100

y lo q yo quiero q me muestre es:

USUARIO----------Consecutivo

NOM1------------------10
-------------------------11
-------------------------12

NOM2-------------------5
---------------------------6

NOM3-------------------50

NOM4-------------------40
--------------------------35
--------------------------100
  #2 (permalink)  
Antiguo 21/08/2007, 14:58
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: problema con consulta...

Hola Stepen64_14
Tu problema no es el group by en la consulta, sino el tratamiento de los datos cuando los vas a mostrar.
Si agruparas en el sql por nombre y lo hiciera, te traería un solo registro por nombre, con lo que el consecutivo sería el primero, o el último que encontrara dependiendo de cómo formaste la consulta.
Para armar el listado como lo estas mostrando, te recomiendo armar el recordset ordenando por nombre y una vez que traes los datos ordenados (ORDER BY NOMBRE) le aplicás un corte de control al bucle que usas para mostrar el recordset.
Probá con eso.

Exitos!
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #3 (permalink)  
Antiguo 21/08/2007, 15:23
 
Fecha de Ingreso: julio-2007
Ubicación: barranquilla, colombia
Mensajes: 16
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: problema con consulta...

gracias por la ayuda....

pero me podrias explicar un poco mas entendible lo del corte de control en el bucle...

espero una pronta respuesta...

y nuevamente gracias....
  #4 (permalink)  
Antiguo 22/08/2007, 07:01
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 19 años, 8 meses
Puntos: 2
Re: problema con consulta...

Opps! Perdón.
Hay una forma de sacar listados con totalización parcial, que se utiliza mucho en programación lineal y bueno, ayuda en estos casos.
La idea es la siguiente:
Teniendo el listado
José 10
José 20
José 5
José 25
Saúl 15
Saúl 13
Saúl 8
Saúl 17

Para obtener:
José_____________________________
10
20
5
25

Saúl______________________________
15
13
8
17

Sería
Código:
Dim  NombreAnterior, NombreActual
If Not Rs.EOF Then
NombreAnterior="Nada"
End if
While Not Rs.EOF
  NombreActual=Rs("NOMBRE")
  If NombreAnterior<>NombreActual Then
    NombreAnterior=NombreActual
    Response.Write("NombreActual")
  End If
    Response.Write("Valor")
Rs.MoveNext()
Wend.
Obviamente, esto no está puesto en tablas ni formateado de ninguna manera, pero es la idea.
Con esto, cuando no coincidan nombre Anterior y Nombre Actual, va a imprimir la línea con el nombre, y cuando coincidan, directamente va a pasar de largo.

Espero que te sea útil
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #5 (permalink)  
Antiguo 22/08/2007, 08:52
 
Fecha de Ingreso: julio-2007
Ubicación: barranquilla, colombia
Mensajes: 16
Antigüedad: 16 años, 11 meses
Puntos: 0
De acuerdo Re: problema con consulta...

muchisimas gracias por la ayuda me ha ayudado bastante....
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:33.