Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   ASP Clásico (http://www.forosdelweb.com/f15/)
-   -   Galeria de fotos - Subconsulta dinamica con dos tablas (http://www.forosdelweb.com/f15/galeria-fotos-subconsulta-dinamica-con-dos-tablas-714879/)

kikesama 01/07/2009 17:02

Galeria de fotos - Subconsulta dinamica con dos tablas
 
Buenasss

Tengo dos tablas con esta estructura:

TblFamilias:
idFamilia - autonumerico
NombreFamilia - texto

TblFotos:
idFoto - autonumerico
idFamiliaFoto - numero
NombreFoto - texto

Quiero montar una galeria de fotos. Necesito capturar idFamilia / nombreFamilia de TblFamilias y NombreFoto de TblFotos. Es para leer dinámicamente los nombres de las Familias presentes en TBLFamilias, pero mostrando miniaturas de TBLFotos.

Debe ser algo con join pero no logro hacer que funcione. Una mano? Gracias!

Nota: No me sirve un do while hasta hacer EOF, ya que necesito paginar los datos tb...

Adler 02/07/2009 04:57

Respuesta: Galeria de fotos - Subconsulta dinamica con dos tablas
 
Hola

Algo de lectura

Suerte

kikesama 02/07/2009 07:45

Respuesta: Galeria de fotos - Subconsulta dinamica con dos tablas
 
Gracias por la sugerencia. Ya visité ese sitio y otros buscando alguna referencia concreta. Habrás notado que no posteo mucho ya que casi siempre me raspo la frente solito. Esta vez necesito una guía, de modo que si pudieras decirme por lo menos QUE buscar, yo podría escribir mi código.

Una pista..... que uso? join, union, pivot? debo usar una subconsulta simple?

Gracias por el aporte.

Adler 02/07/2009 12:24

Respuesta: Galeria de fotos - Subconsulta dinamica con dos tablas
 
Hola

Yo usaría inner join

También puede hacer algo como

Código sql:
Ver original
  1. SELECT "TblFamilias.idFamilia, TblFamilias.NombreFamilia, TblFotos.idFoto, TblFotos.NombreFoto where TblFamilias.idFamilia = TblFotos.idFoto"

Suerte

kikesama 02/07/2009 13:26

Respuesta: Galeria de fotos - Subconsulta dinamica con dos tablas
 
También puede hacer algo como

Código sql:
Ver original
  1. SELECT "TblFamilias.idFamilia, TblFamilias.NombreFamilia, TblFotos.idFoto, TblFotos.NombreFoto where TblFamilias.idFamilia = TblFotos.idFoto"

Suerte[/QUOTE]

Gracias por responderme Adler. La consulta que me envías me arroja todos los resultados... necesito mostrar Todos los campos de TBLFamilias y solamente UNO de TblaFotos para poder mostrar una miniatura. Esta es la estructura:

TBLFAMILIAS
idxyz (autonum.) | idFamilia(num) | NombreFamilia(txt)
--------------------------------------------------
5 | 1 | alfa
4 | 2 | beta
3 | 3 | zeta
2 | 4 | teta
1 | 5 | cajeta

O sea tengo 5 familias cargadas, con su ID y nombre



TBLFOTOS
idFoto(autonum.) | idFamiliaFoto(num) | NombreFoto(texto)
--------------------------------------------------
5 | 4 | taza.jpg
4 | 1 | pelo.jpg
3 | 3 | caja.jpg
2 | 3 | mono.jpg
1 | 5 | ficha.jpg
5 | 1 | ropa.jpg
4 | 1 | sopa.jpg
3 | 2 | pasa.jpg
2 | 3 | pipa.jpg
1 | 2 | foco.jpg

Tengo que listar TODAS las galerias de la Tabla FAMILIA, leyendo SOLAMENTE el ultimo registro (asc o desc) de TBLFOTOS por cada IDFamilia de TBLFamilias

Busco que me muestre esto:

IDFamilia: 5
NombreFamilia: cajeta
Nombrefoto: FICHA.jpg ----> como capturo esto?

IDFamilia: 4
NombreFamilia: teta
Nombrefoto: TAZA.jpg ----> como capturo esto?

IDFamilia: 3
NombreFamilia: Zeta
Nombrefoto: CAJA.jpg ----> como capturo esto?

IDFamilia: 2
NombreFamilia: Beta
Nombrefoto: PASA.jpg ----> como capturo esto?

IDFamilia: 1
NombreFamilia: Alfa
Nombrefoto: PELO.jpg ----> como capturo esto?


Es decir los dos campos de TBLFAMILIAS + ULTIMO registro Nombrefoto de TBLFotos....

Tengo esto, pero me muestra solamente los campos de TBLGalerias...

SELECT TBLFAMILIAS .*
FROM TBLFAMILIAS
WHERE (((Exists (select idfamiliafoto from TBLFOTOS where TBLFAMILIAS .idfamilia = TBLFOTOS .idfamiliafoto ))<>False));

Alguna idea?

Muchas gracias!

Adler 03/07/2009 13:22

Respuesta: Galeria de fotos - Subconsulta dinamica con dos tablas
 
Hola

¿Podría ser algo así? :pensando:

Código asp:
Ver original
  1. idFamilia = 0
  2. NombreFamilia = 1
  3.  
  4. SQL ="SELECT idFamilia, NombreFamilia FROM tblFamilia"
  5. set rs = oConn.Execute(SQL)
  6. registros = rs.getrows()
  7. rs.Close
  8. Set rs = Nothing
  9.  
  10. For i = 0 to ubound(registros,2)
  11. response.write registros(idFamilia,i) & "<br>"
  12. response.write registros(NombreFamilia,i) & "<br>"
  13.  
  14. SQL ="SELECT IdFamilia, NombreFoto FROM Fotos WHERE IdFamilia IN (SELECT IdFamilia FROM Fotos WHERE IdFamilia = "&registros(idFamilia,i)&") "
  15. set rs2 = oConn.Execute(SQL)
  16.  
  17. response.write rs2.Fields("NombreFoto") & "<br><br>"
  18. Next

Suerte

kikesama 03/07/2009 15:06

Respuesta: Galeria de fotos - Subconsulta dinamica con dos tablas
 
Muchas gracias por seguir apoyando a un pichón de aprendiz Adler.

Me sirvió tu manera de resolver el asunto.

Un saludo y agradecimiento a todos los participantes de este post.


La zona horaria es GMT -6. Ahora son las 10:38.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.