Hola uxtlei:
Vayamos por partes, porque lo que quieres hacer creo que no es posible, ya que estás tratando de mezclar peras con manzanas. En primer lugar, ¿cuál es la cardinalidad de tus tablas? Desde mi punto de vista un usuario puede tener n comentarios y también puede tener n fotos, entonces ¿Cómo pretendes que se hagan los JOIN's?
Al no existir ninguna relación entre FOTOS y COMENTARIOS, no puedes hacer un JOIN entre estas tablas. Si quisieras hacerlo, tendrías que cambiar la cardinalidad entre tus tablas y convertirlas en una relación 1 a 1, con un GROUP_CONCAT por ejemplo, de tal manera que te coloque en una lista separada por comas, checa el script:
Código MySQL:
Ver original+------+--------+-----------+
| id | nombre | apellidos |
+------+--------+-----------+
| 1 | uno | one |
| 2 | dos | two |
| 3 | tres | three |
| 4 | cuatro | four |
+------+--------+-----------+
+------+------+------+--------------+---------------------+
| id | de | para | texto | fecha |
+------+------+------+--------------+---------------------+
| 1 | 1 | 2 | texto uno | 2013-06-04 08:40:11 |
| 2 | 1 | 3 | texto dos | 2013-06-04 08:40:11 |
| 3 | 2 | 1 | texto tres | 2013-06-04 08:40:11 |
| 4 | 3 | 2 | texto cuatro | 2013-06-04 08:40:11 |
+------+------+------+--------------+---------------------+
+------+---------+---------------------+---------------+
| id | usuario | fecha | img |
+------+---------+---------------------+---------------+
| 1 | 1 | 2013-06-04 09:00:55 | imagen uno |
| 2 | 1 | 2013-06-04 09:00:55 | imagen dos |
| 3 | 2 | 2013-06-04 09:00:55 | imagen tres |
| 4 | 4 | 2013-06-04 09:00:55 | imagen cuatro |
+------+---------+---------------------+---------------+
mysql
> SELECT u.
*, c.texto
, f.img
+------+--------+-----------+---------------------+-----------------------+
| id | nombre | apellidos | texto | img |
+------+--------+-----------+---------------------+-----------------------+
| 1 | uno | one | texto uno,texto dos | imagen uno,imagen dos |
| 2 | dos | two | texto tres | imagen tres |
| 3 | tres
| three
| texto cuatro
| NULL | | 4 | cuatro
| four
| NULL | imagen cuatro
| +------+--------+-----------+---------------------+-----------------------+
Otra manera de unir las tablas, sería con UNION, con las restricciones que tiene este tipo de sentencia... podrías hacer algo como esto:
Código MySQL:
Ver originalmysql
> SELECT usuario
, fecha
, img
-> SELECT de usuario
, fecha
, texto
+---------+---------------------+---------------+
| usuario | fecha | img |
+---------+---------------------+---------------+
| 1 | 2013-06-04 08:00:55 | imagen uno |
| 1 | 2013-06-04 08:40:11 | texto uno |
| 1 | 2013-06-04 09:04:55 | imagen dos |
| 1 | 2013-06-04 09:26:11 | texto dos |
| 2 | 2013-06-04 09:35:55 | imagen tres |
| 4 | 2013-06-04 09:59:55 | imagen cuatro |
| 2 | 2013-06-04 10:05:11 | texto tres |
| 3 | 2013-06-04 11:58:11 | texto cuatro |
+---------+---------------------+---------------+
Finalmente, algunas recomendaciones:
1. No hagas la unión de tus tablas en el FROM-WHERE. En lugar de esto:
Código:
...
FROM tabla1, tabla2 WHERE tabla1.campo = tabla2.campo
...
Haz esto:
Código:
...
FROM tabla1 INNER JOIN tabla2 ON tabla1.campo = tabla2.campo
...
Si tienes dudas en cómo funcionan los distintos tipos de JOIN's, preguntale a Santa WIKIPEDIA:
http://es.wikipedia.org/wiki/Join
2. Mucho cuidado con poner nombres de campos en inglés... corres el riesgo de que formen parte de las palabras reservadas de MySQL, lo que te traerá problemas al hacer las consultas. En tu tabla FOTOS tienes los campos (USER y DATE), estas son palabras reservadas... para evitar esto simplemente pon los nombres en español o agregales algún prefijo o sufijo a los campos (ID_USER, DATE_IMG...)
Saludos.
Leo.