Mam problem ze skonstruowaniem zapytania.
Tabela "user"
+----+---------+
| ID | NAME |
+----+---------+
| 1 | Adam |
| 2 | Bernard |
| 3 | Cezary |
+----+---------+
Tabela "adv"
+----+-------------------------+
| ID | NAME |
+----+-------------------------+
| 1 | Nazwa pierwsza |
| 2 | Nazwa druga |
| 3 | Nazwa trzecia |
...
| 23 | Nazwa dwudziestotrzecia |
+----+-------------------------+
Tabela "stat"
+------+------+-------+
| id_u | id_a | score |
+------+------+-------+
| 1 | 1 | 1 |
| 1 | 2 | -2 |
| 1 | 3 | 0 |
...
+------+------+-------+
Chciałbym osiągnąć taki wynik (nazwa usera, kolumny adv 1-23):
+---------+---------+---------+---------+---------+---------+
| u.name | a.id_1 | a.id_2 | a.id_3 | ... | a.id_23 |
+---------+---------+---------+---------+---------+---------+
| Adam | 1 | -2 | 0 | | -1 |
| Bernard | 2 | -2 | 1 | | 2 |
| Cezary | 3 | 0 | 0 | | 0 |
+---------+---------+---------+---------+---------+---------+
To moje zapytanie:
SELECT a.id, u.name, s.score
FROM stat s
LEFT JOIN adv a ON s.id_a=a.id
LEFT JOIN user u ON s.id_u=u.id
GROUP BY a.id, u.name
ORDER BY a.id
Moje zapytanie daje mi id(adv), name, score w trzech kolumnach. Nie wiem, jak to ugryźć.
Jak inaczej mógłbym skonstruować tabelę ze statystykami, żeby uprościć zapytania? Ew. jak przekonwertować w PHP?