[SQL] Problème requête

Bonjour,

je ne sais pas si je vais pouvoirs trouver de l'aide ici mais je tente quand meme!

J'ai un problème pour l'éxécution d'une requete SQL

SELECT DISTINCT(PAGE_NUM) as PAGE_NUM, CRF_NUM, SECTION_LG1, PAGE_LG1,
CASE
WHEN CRF_NUM=1 THEN PAGE_NUM
WHEN CRF_NUM=2 THEN PAGE_NUM+10
WHEN CRF_NUM=3 THEN PAGE_NUM+600
END as REAl_PAGE_NUM
FROM MaTable
ORDER BY CRF_NUM, PAGE_NUM

Cette requete fonctionne lorsque je retire les +10 et +600 et lorsque je les rajoute j'obtien l'erreur suivante :

"Types de données incohérents; attendu : CHAR ; obtenu : Number"

Hors je cherche à obtenir un NUMBER, mais je ne peut pas définir le format de REAL_PAGE_NUM

CAST(REAL_PAGE_NUM AS INT) ne fonctionne pas car la varible n'éxiste pas au préalable.

Je travail depuis une base oracle inclu dans un logiciel

Si vous avez des idées je suis preneur!

D'avance merci!


Problème résulu en passant par une sous-requete!

je poste si jamais cela peut aider!

SELECT  CRF_NUM, SECTION_LG1, PAGE_LG1 ,
CASE
WHEN CRF_NUM=1 THEN PAGE_NUM
WHEN CRF_NUM=2 THEN PAGE_NUM+10
WHEN CRF_NUM=3 THEN PAGE_NUM+600

END as REAl_PAGE_NUM
From( SELECT DISTINCT(CAST(PAGE_NUM AS INT)) as PAGE_NUM, CRF_NUM, SECTION_LG1, PAGE_LG1 
    MaTable) 
ORDER BY CRF_NUM, PAGE_NUM
Rechercher des sujets similaires à "sql probleme requete"