Bonjour,

J'ai une requete type que j'utilise sur DB2 et PostgreSQL mais que je ne parviens pas à adapter à Oracle (sachant que j'ai un générateur de requete qui me crée la requête en fonction de la base requêtée)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT COL3, COL4
FROM TAB1
WHERE (COL1, COL2) IN ( VALUES ( 1235, 'ABC' ), (35542, 'DF') )
Je cherche donc les lignes de TAB1 avec les couples de valeurs mentionnés, sachant que je peux aussi bien avoir 2 couples de valeurs que 50

Pour Oracle, j'en suis arrivé à faire ça (C'est peut-être une grosse connerie, alors dites le tout de suite si c'est le cas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT COL3, COL4
FROM TAB1
WHERE (COL1, COL2) IN ( (SELECT 1235, 'ABC' FROM DUAL) UNION (SELECT 35542, 'DF' FROM DUAL) )
Biensur ça ne marche pas : ca ne fait pas d'erreur, mais retourne 0 ligne
J'ai remarqué que si je mets 'ABC' et 'DF ' (les 2 chaines paddées sur la même longueur) alors ça marche !
Vous n'auriez pas une meilleur solution que de padder les chaines de caractère ?

Merci d'avance !