Bonjour,
j'ai un soucis avec une requête, qui je croyais qu'au début fonctionné mais après avoir testé, je n'ai pas le résultat obtenu, j'ai la requête suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
select t1.identifiantpersonne as numPersonne,
pers.nom as NOM,
pers.prenom as PRENOM
from table1 t1 
inner join table2 t3 on t3.idreftable1=t1.id
inner JOIN table3 t2 ON t1.idreftable1 = t2.id
inner join tablepersonne pers on pers.id=t1.x407_idreftable1
WHERE t3.code=123  --le code 123 correspond au moyen de paiement, ça il reste inchangé
and typePaiement='010' -- 010: en espece   020:par cb
and t2.validite = to_date(dd/mm/yyyy,01/01/3999) --cela veut dire que le moyen de paiement actuel c'est le dernier utilisé par la personne, sinon nous aurions une date fixe
                                      --par exemple , sans cette condition, je peux avoir une personne avec une fin de moyen de paiment au 29052019 ça veut dire que jusqu'a aujourdhui
									  --il a regler en espece et demain il passera en code 020 donc le reglement se fera via cb                    
  ;
et j'aimerais donc identifier les personnes dont le moyen de paiement est toujours en espèce actuellement mais qui ont une carte bancaire valide ( je précise que c'est pas vraiment carte bancaire pour des raisons de confidentialité j'ai utilisé ce terme ), ceux-ci afin de prevenir les personnes du changement de moyen de paiement.

J'ai tenté de faire un "in", c'est à dire de sélectionner les personnes qui paye en espèce puis faire par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
  select t1.identifiantpersonne as numPersonne,
pers.nom as NOM,
pers.prenom as PRENOM
from table1 t1 
inner join table2 t3 on t3.idreftable1=t1.id
inner join tablepersonne pers on pers.id=t1.x407_idreftable1
WHERE t3.code=123  
and typePaiement='010'
 
and t1.identifiantpersonne in (
select ta.identifiantpersonne
from table1 t1a 
inner JOIN table3a t2a ON t1a.idreftable1 = t2a.id
and t2a.validite = to_date(dd/mm/yyyy,01/01/3999) 
 
)
en gros je voulais d'abord selectionner les personnes avec un moyen de paiement en espece puis parmis celle ci selectionner les personnes avec un moyen de paiement par carte valide mais rien à faire, j'ai toujours des personnes avec paiement par carte qui ressorte, or je souhaite seulement celle qui utilise l'espèce mais qui ont une carte valide , sauriez vous me conseiller ?
MERCI BCP