Bien le bonsoir !
Me revoilà avec mes petits problèmes de requêtes sur des entrée BDD qui n'existent (peut être) PAS !
Vous vous souvenez de mon précédent topic sur le "comment faire un INSERT quand on ne trouve pas de ligne à UPDATE) ?
http://www.jeuweb.org/showthread.php?tid=9099
Aujourd'hui le problème est: Comment faire une recherche sur une entrée qui n'existe peut être pas !
Imaginons que dans ma BDD, le joueur possède les paysans de type 1 (paysans1) et de type 2 (paysans2), et que j'ai besoin de rechercher tous les paysans qu'il possède ! A savoir: paysans1, paysans2, paysans3 et paysans4 !
Sauf que là, et bien il n'en possède que 2 sur les 4 types ! Deux entrées dans la BDD qui sont inexistantes donc.
Une requête qui ne va donc chercher (en plus d'autres choses) les deux premiers types de paysans: fonctionne donc:
Mais une requête qui va chercher tous les types:
Ne fonctionne pas !
Ce que je cherche donc à faire, c'est que cela fonctionne (sans blague ). Si possible, en remplaçant donc les données de "paysans3" et "paysans4" par "0" vu qu'il n'y en a pas !
Bref, je me casse la tête depuis quelques heures là dessus et aucun de mes amis (y compris google) n'a réussi à me donner une réponse...
Merci donc d'avance si vous connaissez cette dernière !
Me revoilà avec mes petits problèmes de requêtes sur des entrée BDD qui n'existent (peut être) PAS !
Vous vous souvenez de mon précédent topic sur le "comment faire un INSERT quand on ne trouve pas de ligne à UPDATE) ?
http://www.jeuweb.org/showthread.php?tid=9099
Aujourd'hui le problème est: Comment faire une recherche sur une entrée qui n'existe peut être pas !
Imaginons que dans ma BDD, le joueur possède les paysans de type 1 (paysans1) et de type 2 (paysans2), et que j'ai besoin de rechercher tous les paysans qu'il possède ! A savoir: paysans1, paysans2, paysans3 et paysans4 !
Sauf que là, et bien il n'en possède que 2 sur les 4 types ! Deux entrées dans la BDD qui sont inexistantes donc.
Une requête qui ne va donc chercher (en plus d'autres choses) les deux premiers types de paysans: fonctionne donc:
SELECT j.galds, b.nombre AS maisons, t.nombre AS paysans1, t2.nombre AS paysans2
FROM t_joueur AS j
LEFT JOIN t_batiment AS b
ON j.PK_joueur = b.FK_joueur
LEFT JOIN t_troupe AS t
ON j.PK_joueur = t.FK_joueur
LEFT JOIN t_troupe AS t2
ON j.PK_joueur = t2.FK_joueur
WHERE j.PK_joueur = 9 AND b.FK_cBatiment = 2 AND t.FK_cTroupe = 1 AND t2.FK_cTroupe = 2
Mais une requête qui va chercher tous les types:
SELECT j.galds, b.nombre AS maisons, t.nombre AS paysans1, t2.nombre AS paysans2, t3.nombre AS paysans3, t4.nombre AS paysans4
FROM t_joueur AS j
LEFT JOIN t_batiment AS b
ON j.PK_joueur = b.FK_joueur
LEFT JOIN t_troupe AS t
ON j.PK_joueur = t.FK_joueur
LEFT JOIN t_troupe AS t2
ON j.PK_joueur = t2.FK_joueur
LEFT JOIN t_troupe AS t3
ON j.PK_joueur = t3.FK_joueur
LEFT JOIN t_troupe AS t4
ON j.PK_joueur = t4.FK_joueur
WHERE j.PK_joueur = 9 AND b.FK_cBatiment = 2 AND t.FK_cTroupe = 1 AND t2.FK_cTroupe = 2 AND t3.FK_cTroupe = 3 AND t4.FK_cTroupe = 4
Ne fonctionne pas !
Citation :MySQL a retourné un résultat vide (aucune ligne).
Ce que je cherche donc à faire, c'est que cela fonctionne (sans blague ). Si possible, en remplaçant donc les données de "paysans3" et "paysans4" par "0" vu qu'il n'y en a pas !
Bref, je me casse la tête depuis quelques heures là dessus et aucun de mes amis (y compris google) n'a réussi à me donner une réponse...
Merci donc d'avance si vous connaissez cette dernière !