Salut à tous
Voilà j'ai une table (t_combat) qui contient les champs suivants:
- RefAtt: Contient la référence à un navire qui attaque un autre.
- RefDef: Contient la référence du navire attaqué.
J'exécute une requête qui me donne la liste des navires qui se défendent. Et pour chacun de ses navires j'établis la liste des navires qui l'attaquent avec la requête suivante:
Maintenant à partir du résultat de cette requête je voudrais obtenir la liste des navires qui sont attaqués par le défenseur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT t_combat.RefAtt FROM t_combat WHERE t_combat.RefDef= :rd
Par exemple ma table contient:
+-------+--------+
! RefAtt ! RefDef !
+-------+--------+
! 1 ! 8 !
+-------+--------+
! 3 ! 8 !
+-------+--------+
! 4 ! 8 !
+-------+--------+
! 8 ! 3 !
+-------+--------+
! 1 ! 7 !
+-------+--------+
Le résultat de ma requête pour RefDef=8 est
RefAtt:
1
3
4
Pour avoir la liste des navires attaqué par le défenseur qui sont dans la liste de ceux qui l'attaquent (j'espère avoir été clair) Je pourrais faire une requête de ce genre
Mais comme c'est lourd je voudrais savoir s'il n'est pas possible d'écrire ça sous forme d'une seule requête?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT t_combat.RefDef FROM t_combat WHERE (t_combat.RefDef= 1) OR (t_combat.RefDef= 3) OR (t_combat.RefDef= 4)
Partager