Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/03/2012, 16:28
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: Relación de dos tablas con un solo registro de la segunda tabla

Hola clarkpler:

En este otro post estamos discutiendo justamente alternativas semejantes a lo que estás pidiendo:

http://www.forosdelweb.com/f86/probl...gistro-979826/

En tu caso podrías hacerlo más o menos así (usando joins)
Código MySQL:
Ver original
  1. mysql>
  2. mysql> SELECT * FROM tabla1;
  3. +----------+---------+-----------+
  4. | id_album | nombre  | categoria |
  5. +----------+---------+-----------+
  6. |        1 | album 1 | familia   |
  7. |        2 | album 2 | amigos    |
  8. |        3 | album 3 | autos     |
  9. |        4 | vacio   | otro      |
  10. +----------+---------+-----------+
  11. 4 rows in set (0.00 sec)
  12.  
  13.  SELECT * FROM tabla2;
  14. +---------------+----------------+----------+
  15. | id_fotografia | url_fotografia | id_album |
  16. +---------------+----------------+----------+
  17. |             1 | papa.jpg       |        1 |
  18. |             2 | mama.jpg       |        1 |
  19. |             3 | hermano.jp     |        1 |
  20. |             4 | victor.jpg     |        2 |
  21. |             5 | ßngel.jpg      |        2 |
  22. |             6 | mustang.jp     |        3 |
  23. |             7 | vocho.jpg      |        3 |
  24. +---------------+----------------+----------+
  25. 7 rows in set (0.00 sec)
  26.  
  27. mysql> SELECT T1.*, T3.*
  28.     -> FROM tabla1 T1
  29.     -> LEFT JOIN
  30.     -> (SELECT MIN(id_fotografia) min_id, id_album
  31.     -> FROM tabla2 GROUP BY id_album) T2 ON T1.id_album = T2.id_album
  32.     -> LEFT JOIN tabla2 T3
  33.     -> ON T3.id_fotografia = T2.min_id AND T3.id_album = T2.id_album;
  34. +----------+---------+-----------+---------------+----------------+----------+
  35. | id_album | nombre  | categoria | id_fotografia | url_fotografia | id_album |
  36. +----------+---------+-----------+---------------+----------------+----------+
  37. |        1 | album 1 | familia   |             1 | papa.jpg       |        1 |
  38. |        2 | album 2 | amigos    |             4 | victor.jpg     |        2 |
  39. |        3 | album 3 | autos     |             6 | mustang.jp     |        3 |
  40. |        4 | vacio   | otro      |          NULL | NULL           |     NULL |
  41. +----------+---------+-----------+---------------+----------------+----------+
  42. 4 rows in set (0.00 sec)

Con esto estarías obteniendo la primer (min id) foto asignada para cada álbum.

Dale un vistazo también al otro post. ahí wchiquito muestra otra alternativa que también podrías tratar de implementar.

Saludos
Leo.