Bonjour
Avant toute chose : j'utilise ASE version 15.0.
Voilà ma requête :
Et voilà mon erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select table2.id_colonnes, id_types, id_vues, colonnes_nom, colonnes_champ_cible, colonnes_ordre, colonnes_config_type, colonnes_liste, colonnes_triable, colonnes_editable, colonnes_cherchable, colonnes_tag, types_nom from (select * from (select sc.*, st.types_nom from shadow_colonnes sc inner join shadow_types st on sc.id_types=st.id_types) table1) table2, shadow_roles sr left outer join shadow_droits_colonnes sdc on (table2.id_colonnes=sdc.id_colonnes and sr.id_roles=sdc.id_roles) where table2.id_vues=87 and sr.id_roles in (72,73) and sdc.droits_collonnes_modif <> 0;
Cette erreur concerne cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Adaptive Server cannot perform the requested action because column 'id_colonnes' is not within the scope of the joined table expression. Check your command for missing or incorrect database objects, variable names, and/or input data.
Comment puis-je modifier ma requête pour que id_colonnes soit reconnue ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 left outer join shadow_droits_colonnes sdc on (table2.id_colonnes=sdc.id_colonnes and sr.id_roles=sdc.id_roles)
Une autre question, cette requête est-elle portable ou bien est-ce une syntaxe propre à Sybase (il semblerait que Sybase ne reconnaisse pas les alias si ceux-ci sont "appelés" en dehors des parenthèses dans lesquels ils sont déclarés...)
Merci d'avance
Partager