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

Select: Mostrar registros agrupados por un campo

Estas en el tema de Select: Mostrar registros agrupados por un campo en el foro de ASP Clásico en Foros del Web. Tengo la siguiente tabla (ejemplo): id - localidad - nombre 1 - madrid - manuel 2 - madrid - pedro 3 - barcelona - laura ...
  #1 (permalink)  
Antiguo 12/08/2007, 05:50
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 18 años, 2 meses
Puntos: 0
Select: Mostrar registros agrupados por un campo

Tengo la siguiente tabla (ejemplo):

id - localidad - nombre

1 - madrid - manuel
2 - madrid - pedro
3 - barcelona - laura
4 - barcelona - miguel
5 - sevilla - pablo
6 - sevilla - ana
...

Quisiera que me mostrara los registros de la siguiente forma:

MADRID: Manuel, Pedro...

BARCELONA: Laura, Miguel...

SEVILLA: Pablo, Ana...

Es decir-> (campo localidad): (campos nombre correspondientes a esa localidad)

Lo he probado de varias maneras, con Selects normales, con Group By, etc, pero siempre tengo algún error que echa todo al traste.

¿Alguna idea?

Muchas gracias.

Moleman.
  #2 (permalink)  
Antiguo 13/08/2007, 06:35
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 4 meses
Puntos: 8
Re: Select: Mostrar registros agrupados por un campo

Eso que pides no es posible hacerlo en una sola consulta. Necesitas una consulta y luego recorrerla, ya que está compuesta de varias líneas... Algo así

Código:
set rs=connection.execute("SELECT localidad,nombre FROM tabla ORDER BY localidad")
if not rs.Eof
  antLoc=""
  rs.moveFirst
  while not rs.Eof
    loc=rs("localidad")
    if loc<>antLoc and antLoc<>"" then
      antLoc=loc
      if aux<>"" then
        response.write(aux+"<br>"+vbCrLf
      end if
      aux=loc+": "
    end if
    aux=aux+rs("nombre")+" "
    rs.moveNext
  wend
  if aux<>"" then
    response.write(aux)
  end if
end if
rs.close
Algo parecido. La cosa es reflejar la idea de recorrer la consulta.

No metas el código a saco y échale un vistazo que lo he metido de corrido y puede tener algun errorcillo .

Saludos
__________________
Kelpie
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 16:20.