Problème jointure croisée et tables dérivées - Toujours pas résolu :o(
Bonjour :)
Avant toute chose : j'utilise ASE version 15.0.
Voilà ma requête :
Code:
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; |
Et voilà mon erreur :D :
Code:
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. |
Cette erreur concerne cette ligne :
Code:
1 2
|
left outer join shadow_droits_colonnes sdc on (table2.id_colonnes=sdc.id_colonnes and sr.id_roles=sdc.id_roles) |
Comment puis-je modifier ma requête pour que id_colonnes soit reconnue ?
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 :)