Rowan: Tant que cela ? Cela fait deux années que je n'ai pas codé, la reprise n'est pas facile ! ^^
Sephi:
t_joueur: contient l'id du joueur (PK_joueur) ainsi que des infos comme les galds etc...
t_batiment: contient les bâtiments des joueurs: PK_batiment / FK_joueur / FK_cBatiment (qui est le type du bâtiment) / nombre (contient le nombre de bâtiments que possède le joueur s'il peut en avoir plusieurs)
t_troupe: contient les troupes des joueurs: PK_troupe / FK_joueur / FK_cTroupe (qui est le type de la troupe) / nombre (comme ci-dessus) / type (0,1) si la troupe est en attaque ou non
En gros:
t_joueur:
PK_joueur | galds | ...
----9-----| 10 000 |
t_batiment:
PK_batiment | FK_joueur | FK_cBatiment | nombre
-----1------|----9------|------2-------|--10----
t_troupe:
PK_troupe | FK_joueur | FK_cTroupe | nombre
-----1----|----9------|-----1------|---10---
-----2----|----9------|-----2------|---55---
On peut donc voir ici que je n'ai que la troupe de type 1 et de type 2 dans ma table t_troupe.
Pour que ma requète avec paysans1, paysans2, paysans3, paysans4 fonctionne il aurait fallu que j'ai:
t_troupe:
PK_troupe | FK_joueur | FK_cTroupe | nombre
-----1----|----9------|-----1------|---10---
-----2----|----9------|-----2------|---55---
-----3----|----9------|-----3------|---5----
-----3----|----9------|-----4------|---30---
Je ne sais pas si j'explique bien mon problème !
Edit: trouvé (si ça peut aider du monde)
Sephi:
t_joueur: contient l'id du joueur (PK_joueur) ainsi que des infos comme les galds etc...
t_batiment: contient les bâtiments des joueurs: PK_batiment / FK_joueur / FK_cBatiment (qui est le type du bâtiment) / nombre (contient le nombre de bâtiments que possède le joueur s'il peut en avoir plusieurs)
t_troupe: contient les troupes des joueurs: PK_troupe / FK_joueur / FK_cTroupe (qui est le type de la troupe) / nombre (comme ci-dessus) / type (0,1) si la troupe est en attaque ou non
En gros:
t_joueur:
PK_joueur | galds | ...
----9-----| 10 000 |
t_batiment:
PK_batiment | FK_joueur | FK_cBatiment | nombre
-----1------|----9------|------2-------|--10----
t_troupe:
PK_troupe | FK_joueur | FK_cTroupe | nombre
-----1----|----9------|-----1------|---10---
-----2----|----9------|-----2------|---55---
On peut donc voir ici que je n'ai que la troupe de type 1 et de type 2 dans ma table t_troupe.
Pour que ma requète avec paysans1, paysans2, paysans3, paysans4 fonctionne il aurait fallu que j'ai:
t_troupe:
PK_troupe | FK_joueur | FK_cTroupe | nombre
-----1----|----9------|-----1------|---10---
-----2----|----9------|-----2------|---55---
-----3----|----9------|-----3------|---5----
-----3----|----9------|-----4------|---30---
Je ne sais pas si j'explique bien mon problème !
Edit: trouvé (si ça peut aider du monde)
Code :
SELECT j.galds, b.nombre AS maisons, COALESCE(t.nombre, 0 ) AS paysans1, COALESCE(t2.nombre, 0 ) AS paysans2, COALESCE(t3.nombre, 0 ) AS paysans3, COALESCE(t4.nombre, 0 ) AS paysans4
FROM t_joueur AS j
LEFT JOIN t_batiment AS b ON j.PK_joueur = b.FK_joueur
LEFT OUTER JOIN t_troupe AS t ON j.PK_joueur = t.FK_joueur
AND t.FK_cTroupe =1
LEFT OUTER JOIN t_troupe AS t2 ON j.PK_joueur = t2.FK_joueur
AND t2.FK_cTroupe =2
LEFT OUTER JOIN t_troupe AS t3 ON j.PK_joueur = t3.FK_joueur
AND t3.FK_cTroupe =3
LEFT OUTER JOIN t_troupe AS t4 ON j.PK_joueur = t4.FK_joueur
AND t4.FK_cTroupe =4
WHERE j.PK_joueur =9
AND b.FK_cBatiment =2