Consulta SQL (Reto)
Publicado por Isaac Daniel (8 intervenciones) el 09/06/2017 18:29:48
Buenas a todos
Pues resulta que tengo una consulta con un poco de complejidad y quisiera saber si me puede echar la mano a sacar la ultima parte que es la que tiene un poco mas de complegidad
Tengo las siguentes tablas:
La consulta trata de sacar el siguiente resultado
El problema es que no puedo sacar las emociones en una sola fila con una sola consulta.
Alguién sabe como la puedo sacar ?
De momento la consulta va así:
Saludos y agradecimientos eternos.
PD: Si me sale la consulta detodos modos la posteare para que otras personas puedan ver como se resolvio este problema.
Pues resulta que tengo una consulta con un poco de complejidad y quisiera saber si me puede echar la mano a sacar la ultima parte que es la que tiene un poco mas de complegidad
Tengo las siguentes tablas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
mysql> select * from emociones;
+------------+----------------+
| id_emocion | nombre_emocion |
+------------+----------------+
| 1 | Enojo |
| 2 | Disgusto |
| 3 | Miedo |
| 4 | Felicidad |
| 5 | Tristeza |
| 6 | Sorpresa |
| 7 | Me gusta |
| 8 | Share |
+------------+----------------+
8 rows in set (0.00 sec)
mysql> select * from votos;
+---------+-----------+------------+------------+-------+-------+-------+----------------+---------------+
| id_voto | id_imagen | id_usuario | id_emocion | otro1 | otro2 | otro3 | fecha_registro | hora_registro |
+---------+-----------+------------+------------+-------+-------+-------+----------------+---------------+
| 1 | 1 | 17 | 4 | temor | | | 2017-02-01 | 05:39:34 |
| 2 | 1 | 17 | 6 | temor | | | 2017-02-01 | 05:39:34 |
| 3 | 1 | 17 | 7 | temor | | | 2017-02-01 | 05:39:34 |
| 4 | 2 | 17 | 4 | | | | 2017-02-01 | 05:39:54 |
| 5 | 2 | 17 | 7 | | | | 2017-02-01 | 05:39:54 |
| 6 | 3 | 17 | 5 | | | | 2017-02-01 | 07:16:35 |
| 7 | 4 | 17 | 1 | | | | 2017-02-01 | 08:26:25 |
| 8 | 5 | 17 | 4 | | | | 2017-02-02 | 08:34:10 |
| 35 | 5 | 46 | 7 | | | | 2017-02-15 | 12:39:45 |
| 36 | 6 | 46 | 6 | | | | 2017-02-15 | 12:40:01 |
| 37 | 1 | 49 | 2 | salud | | | 2017-02-15 | 14:12:20 |
| 38 | 1 | 49 | 6 | salud | | | 2017-02-15 | 14:12:20 |
| 39 | 2 | 49 | 2 | | | | 2017-02-15 | 14:12:33 |
| 40 | 2 | 49 | 7 | | | | 2017-02-15 | 14:12:33 |
+---------+-----------+------------+------------+-------+-------+-------+----------------+---------------+
La consulta trata de sacar el siguiente resultado
1
2
3
4
5
6
+--------------------+------------------------+
| correo | emociones |
+--------------------+------------------------+
| correo@usuario.com | Enojo, Miedo, Trizteza |
| correo2@correo.com | Me gusta, Sorpresa |
+--------------------+------------------------+
El problema es que no puedo sacar las emociones en una sola fila con una sola consulta.
Alguién sabe como la puedo sacar ?
De momento la consulta va así:
1
2
3
4
5
SELECT u.correo AS correo, i.id_imagen as 'Bacon ID', e.nombre_emocion
FROM votos v
INNER JOIN usuarios u on v.id_usuario = u.id_usuario
INNER JOIN imagenes i on v.id_imagen = i.id_imagen
INNER JOIN emociones e ON v.id_emocion = e.id_emocion
Saludos y agradecimientos eternos.
PD: Si me sale la consulta detodos modos la posteare para que otras personas puedan ver como se resolvio este problema.
Valora esta pregunta


0