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 ...
 
Antiguo 12/08/2007, 05:50
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 20 años, 6 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.
 
Antiguo 13/08/2007, 06:35
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 24 años, 7 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 18:31.