Respuesta: modificar consulta Se entiende.
Releyendo tu problema, te comento que existe una solución, pero es bastante compleja. Necesita bastante experiencia usando variables de usuario de MySQL, y consultas anidadas.
Primero voy a recrear tus tres tablas, de acuerdo a como yo considero que deberían ser, y le agregaremos los datos:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.05 sec) Query OK, 0 rows affected (0.03 sec) Query OK, 0 rows affected (0.03 sec) mysql> -> ); Query OK, 0 rows affected (0.05 sec) -> ); Query OK, 0 rows affected (0.05 sec) -> ); Query OK, 0 rows affected (0.03 sec) mysql > INSERT INTO categoria VALUES(1, 'RETRATO'), (2, 'MODA'), (3, 'INFANTILES');Query OK, 3 rows affected (0.03 sec) mysql> -> VALUES(1, 'Retrato 1', '2016-03-04', 'Descripcion R1', 1), -> (2, 'Retrato 2', '2016-03-04', 'Descripcion R2', 1), -> (3, 'Retrato 3', '2016-03-04', 'Descripcion R3', 1), -> (4, 'Moda 1', '2016-03-04', 'Descripcion M1', 2), -> (5, 'Moda 2', '2016-03-04', 'Descripcion M2', 2), -> (6, 'Infantiles 1', '2016-03-04', 'Descripcion I1', 3), -> (7, 'Infantiles 2', '2016-03-04', 'Descripcion I2', 3); Query OK, 7 rows affected (0.02 sec) mysql> mysql> mysql > INSERT INTO foto (nombre_foto , archivo , posicion , estado , idgaleria ) -> ('foto_abuelos_1', 'lkgiuytyug.jpg', 1, 'visible', 1), -> ('foto_abuelos_2', 'dshdsg.jpg', 2, 'visible', 1), -> ('foto_abuelos_3', 'brgthyvxc.jpg', 3, 'visible', 1), -> ('foto_abuelos_4', 'fwebnyjuy.jpg', 4, 'visible', 1), -> ('foto_abuelos_5', 'weryhbcv.jpg', 5, 'visible', 1), -> ('foto_novia_1', 'etuyhgfscv.jpg', 1, 'visible', 2), -> ('foto_novia_2', 'xbxrth.jpg', 2, 'visible', 2), -> ('foto_novia_3', 'oijhgvcxd.jpg', 3, 'visible', 2), -> ('foto_novia_4', 'edfvbnjh.jpg', 4, 'visible', 2), -> ('foto_novia_5', 'dertgbjuh.jpg', 5, 'visible', 2), -> ('foto_maquillaje_1', 'dertghj.jpg', 1, 'visible', 3), -> ('foto_maquillaje_2', 'jhgfd.jpg', 2, 'visible', 3), -> ('foto_maquillaje_3', 'uytrdcv.jpg', 3, 'visible', 3), -> ('foto_maquillaje_4', 'okjhbvd.jpg', 4, 'visible', 3), -> ('foto_maquillaje_5', 'dfghuytrfd.jpg', 5, 'visible', 3), -> ('vestidonoche_1', 'iuytfv.jpg', 1, 'visible', 4), -> ('vestidonoche_2', 'sedrtyhb.jpg', 2, 'visible', 4), -> ('vestidonoche_3', 'werghbvcx.jpg', 3, 'visible', 4), -> ('vestidonoche_4', 'mhyuytfd.jpg', 4, 'visible', 4), -> ('vestidonoche_5', 'wswert5.jpg', 5, 'visible', 4), -> ('bikini_1', 'dertgbjuh.jpg', 1, 'visible', 5), -> ('bikini_2', '234rtgvcxcv.jpg', 2, 'visible', 5), -> ('bikini_3', 'gfdsw23456.jpg', 3, 'visible', 5), -> ('bikini_4', 'gtyui76ytr.jpg', 4, 'visible', 5), -> ('bikini_5', 'de345678iujhgfd.jpg', 5, 'visible', 5), -> ('foto_bebe_1', 'sdfghyu765.jpg', 1, 'visible', 6), -> ('foto_bebe_2', 'ew4456ygfc.jpg', 2, 'visible', 6), -> ('foto_bebe_3', 'fghjuhgfde.jpg', 3, 'visible', 6), -> ('foto_bebe_4', 's34567yuhg.jpg', 4, 'visible', 6), -> ('foto_bebe_5', 'loi8765trews.jpg', 5, 'visible', 6), -> ('foto_recien_nacido_1', 'fr54567u.jpg', 1, 'visible', 7), -> ('foto_recien_nacido_2', 'bnhju7ytrfdcvb.jpg', 2, 'visible', 7), -> ('foto_recien_nacido_3', 'bnjiuytfds.jpg', 3, 'visible', 7), -> ('foto_recien_nacido_4', 'werthjnbv.jpg', 4, 'visible', 7), -> ('foto_recien_nacido_5', 'ethrfndgn.jpg', 5, 'visible', 7); Query OK, 35 rows affected (0.03 sec)
Luego ejecutamos la consulta:
Código MySQL:
Ver original -> idcategoria, -> nombre_categoria, -> idgaleria, -> titulogaleria, -> descripcion, -> archivo -> idcategoria, -> nombre_categoria, -> idgaleria, -> titulogaleria, -> fecha, -> descripcion, -> archivo, -> IF(@idg <> idgaleria , @id :=1, @id :=@id + 1) s1 , -> IF(@idg <> idgaleria , @idg :=idgaleria , @idg ) s2 -> idcategoria, -> nombre_categoria, -> idgaleria, -> titulogaleria, -> fecha, -> descripcion, -> archivo -> ca.idcategoria, -> ca.nombre_categoria, -> ga.idgaleria, -> ga.titulo titulogaleria, -> ga.fecha_alta fecha, -> ga.descripcion, -> fo.archivo -> galeria ga -> INNER JOIN categoria ca ON ga.idcategoria = ca.idcategoria -> LEFT JOIN foto fo ON ga.idgaleria = fo.idgaleria ) lvl1 -> ;
Obteniendo este resultado:
Código MySQL:
Ver original+-------------+------------------+-----------+---------------+------------+----------------+--------------------+ | idcategoria | nombre_categoria | idgaleria | titulogaleria | fecha | descripcion | archivo | +-------------+------------------+-----------+---------------+------------+----------------+--------------------+ | 1 | RETRATO | 1 | Retrato 1 | 04/03/2016 | Descripcion R1 | brgthyvxc.jpg | | 1 | RETRATO | 1 | Retrato 1 | 04/03/2016 | Descripcion R1 | weryhbcv.jpg | | 1 | RETRATO | 2 | Retrato 2 | 04/03/2016 | Descripcion R2 | dertgbjuh.jpg | | 1 | RETRATO | 2 | Retrato 2 | 04/03/2016 | Descripcion R2 | oijhgvcxd.jpg | | 1 | RETRATO | 3 | Retrato 3 | 04/03/2016 | Descripcion R3 | dfghuytrfd.jpg | | 1 | RETRATO | 3 | Retrato 3 | 04/03/2016 | Descripcion R3 | uytrdcv.jpg | | 2 | MODA | 4 | Moda 1 | 04/03/2016 | Descripcion M1 | iuytfv.jpg | | 2 | MODA | 4 | Moda 1 | 04/03/2016 | Descripcion M1 | werghbvcx.jpg | | 2 | MODA | 5 | Moda 2 | 04/03/2016 | Descripcion M2 | gfdsw23456.jpg | | 2 | MODA | 5 | Moda 2 | 04/03/2016 | Descripcion M2 | gtyui76ytr.jpg | | 3 | INFANTILES | 6 | Infantiles 1 | 04/03/2016 | Descripcion I1 | ew4456ygfc.jpg | | 3 | INFANTILES | 6 | Infantiles 1 | 04/03/2016 | Descripcion I1 | s34567yuhg.jpg | | 3 | INFANTILES | 7 | Infantiles 2 | 04/03/2016 | Descripcion I2 | bnhju7ytrfdcvb.jpg | | 3 | INFANTILES | 7 | Infantiles 2 | 04/03/2016 | Descripcion I2 | ethrfndgn.jpg | +-------------+------------------+-----------+---------------+------------+----------------+--------------------+ 14 rows in set (0.02 sec )
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |