[SQL] Problème requête
n
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