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

Recorrer dos tablas

Estas en el tema de Recorrer dos tablas en el foro de ASP Clásico en Foros del Web. Vereis, a modo resumen, os digo que tengo: Una tabla, con la estructura (ANIME): ID | ANIME_ANIME Y otra de la forma (TONE) ID | ...
  #1 (permalink)  
Antiguo 10/12/2004, 16:19
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años, 5 meses
Puntos: 0
Recorrer dos tablas

Vereis, a modo resumen, os digo que tengo:
Una tabla, con la estructura (ANIME):
ID | ANIME_ANIME

Y otra de la forma (TONE)
ID | ANIME_ID | CAMPO

Yo, previamente, he rellenado la tabla ANIME con varios registros (200, por ej.). Y luego, poco a poco, voy a ir rellenando la tabla TONE, metiendo contenido en CAMPO, para cada ANIME_ID (hay que tener en cuenta que puedo tener varios CAMPO para el mismo ANIME_ID).

Entonces, yo quiero crear una página en la que se me muestren todos los ANIME_ANIME que tienen algún CAMPO asociado.
Sin embargo, con una consulta de este estilo:
SELECT A.ANIME_ANIME FROM ANIME AS A, TONE AS T WHERE A.ID=T.ANIME_ID

Pero en ese caso, si tengo 2 campos para el mismo ANIME_ID en la tabla TONE, me aparece dos veces el registro, cuando yo quiero que aparezca una única vez cada uno de los ANIME_ANIME que tiene algún CAMPO asociado.

¿Alguna sugerencia al respecto?
Desde ya, muchas gracias.
__________________
Tu portal de manga y anime.
  #2 (permalink)  
Antiguo 10/12/2004, 17:29
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
La única es que mientras vayas haciendo el ciclo para mostrar los registros, preguntes si el campo ANIME_ANIME del registro actual tiene el mismo valor que el campo ANIME_ANIME del registro anterior... Si lo tiene, no lo mostrás, de lo contrario si. A modo de ejempo:

var_ANIME_ANIME = ""
Do While Not rs.EOF
If rs("ANIME_ANIME") <> var_ANIME_ANIME Then Response.Write "<br><strong>" & rs("ANIME_ANIME") & "</strong><br>"
Else
Response.Write rs("CAMPO") & "<br>"
End if
var_ANIME_ANIME = rs("ANIME_ANIME")
rs.MoveNext
Loop
__________________
...___...
  #3 (permalink)  
Antiguo 10/12/2004, 17:53
 
Fecha de Ingreso: diciembre-2004
Ubicación: Bs. As. - Argentina
Mensajes: 200
Antigüedad: 20 años, 5 meses
Puntos: 0
Creo que esto puede funcionarte.

SELECT t.anime_id, max(t.id) as maxID, campo
from tone t, anime a
where a.id=t.anime_id
and t.id=(select max(t2.id) from tone t2 where a.id=t2.anime_id)
group by t.anime_id, campo

Espero te sirva Saludos.
Javier.
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 09:22.