Bonjour,
Voici ma requete :et le probleme est que Table1.ID=myalias ne marche pas : nom incorrectCode:
1
2
3
4
5
6 SELECT CASE WHEN zozo = 'NA' THEN 'Val1' ELSE 'Val2' AS myalias FROM Table1, Table2 WHERE Table1.ID=Table.ID AND Table1.ID = myalias
Version imprimable
Bonjour,
Voici ma requete :et le probleme est que Table1.ID=myalias ne marche pas : nom incorrectCode:
1
2
3
4
5
6 SELECT CASE WHEN zozo = 'NA' THEN 'Val1' ELSE 'Val2' AS myalias FROM Table1, Table2 WHERE Table1.ID=Table.ID AND Table1.ID = myalias
De quelle table vient zozo?
Pourquoi ne pas utiliser DECODE?
On ne peut pas utiliser d'alias dans une clause WHERE.
En effet, l'alias ne peut pas être utiliser dans la requête, tu peux contourner cette limitation via une vue, par exemple :
Code:
1
2
3
4
5
6
7 SELECT * FROM (SELECT CASE WHEN zozo = 'NA' THEN 'Val1' ELSE 'Val2' END AS myalias FROM Table2) WHERE Table1.ID=Table2.ID AND Table1.ID = myalias;
Il manque surtout un END non ?? Et Table1 dans ta solution orafrance non ?
Code:
1
2
3
4
5
6
7
8 SELECT * FROM (SELECT (CASE WHEN zozo = 'NA' THEN 'Val1' ELSE 'Val2' END) AS myalias FROM Table2) T2, Table1 WHERE Table1.ID=T2.ID AND Table1.ID = T2.myalias;
le code n'est pas un copier-coller, j'ai reécrit le script juste pour faire comprendre ce que je chercher a faire.
Je pense que l'idée de la vue et le bon contournement, je voulais juste en etre sur. Merci nuke_y
le code n'est pas un copier-coller, j'ai reécrit le script juste pour faire comprendre ce que je chercher a faire.
Je pense que l'idée de la vue et le bon contournement, je voulais juste en etre sur. Merci orafrance