Bonjour,

Juste par curiosité car j'ai une solution mais elle est à ralonge et je me demandais si il n'y avait pas moyen de faire plus court.
Je montre directement la requête pour plus de compréhension:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT T1.id
FROM Table1 T1
WHERE valeur = T1.login
OR valeur IN
(
   SELECT T2.Champ1
   FROM Table2 T2
   WHERE T2.id = T1.id
);
Seulement, ma valeur peut se retrouver également dans T2.Champ2, T2.Champ3, etc.
Ma question est : "est-il possible d'éviter de devoir recopier le bloc OR ?".

Donc pour écrire une grossierté du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT T1.id
FROM Table1 T1
WHERE valeur = T1.login
OR valeur UN_OPERATEUR
(
   SELECT T2.Champ1, T2.Champ2, T2.Champ3
   FROM Table2 T2
   WHERE T2.id = T1.id
);