Debe ser sencillo pero estoy atascado con este caso:
Sean dos tablas: "Fotos" y "Comentarios" relacionadas a través del campo "IdFoto", (una foto puede tener varios comentarios):
CREATE TABLE `Fotos` (
`IdFoto` int(11) unsigned NOT NULL auto_increment,
`Ruta` varchar(100) NOT NULL default '',
`Title` varchar(50) NOT NULL default '',
`FechaFoto` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`IdFoto`)
) TYPE=MyISAM PACK_KEYS=1 AUTO_INCREMENT=50 ;
CREATE TABLE `Comentarios` (
`IdComentario` int(11) unsigned NOT NULL auto_increment,
`IdFoto` int(11) unsigned NOT NULL default '0',
`Autor` varchar(50) NOT NULL default '',
`FechaComentario` datetime NOT NULL default '0000-00-00 00:00:00',
`Texto` text NOT NULL,
PRIMARY KEY (`IdComentario`)
) TYPE=MyISAM AUTO_INCREMENT=20 ;
Necesito una SQL para mostrar los 5 últimos comentarios que sean pertenecientes a fotos diferentes.
Es decir si tengo en la tabla "Comentarios" los siguientes registros:
IdComentario IdFoto Autor Fecha
1.......................1......Rafa....2005-01-01
2.......................2......Rafa....2005-01-01
3.......................1......Pepe...2005-01-02
4.......................1......Juan....2005-01-03
5.......................3......Pepe....2005-01-03
6.......................4......Luis.....2005-01-03
7.......................3......Angel...2005-01-05
8.......................5......Maria...2005-01-07
9.......................6......Alex.....2005-01-09
Se muestre un recordset así:
IdComentario IdFoto Autor Fecha
9.......................6......Alex......2005-01-09
8.......................5......Maria....2005-01-07
7.......................3......Angel....2005-01-05
6.......................4......Luis......2005-01-03
4.......................1......Juan.....2005-01-03
Es decir, quiero mostrar los 5 comentarios más recientes y que sean de 5 fotos diferentes.
Un saludo y gracias de antemano.