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)
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
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') )
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)
Biensur ça ne marche pas
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) ): 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 !
Partager