Bonjour a tous

Dans le cadre d'un projet internationalisable, il me faudrait pouvoir trier des listes de mots dans la langue de l'utilisateur (en francais, anglais, allemand, ...) [je n'utilise pas UTF.


j'ai une table qui stocke les valeurs de collation (FR_FR, ES_ES, etc)

Voici le type de requete tentee :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
SELECT Table.Mot, 
....,
....
FROM Table
ORDER  BY table.Mot COLLATE (SELECT Langue.Trie 
                                              FROM Langue 
                                              WHERE Langue.Id_Langue = :Id_langue_in)
cela fournit une erreur "Token" inconnu

de meme en remplacant par une variable

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ORDER  BY table.Mot COLLATE :Trie
Y a il moyen de faire cela sans passer par un
EXECUTE STATEMENT ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
EXECUTE STATEMENT 'SELECT Table.Mot, 
....,
....
FROM Table
ORDER  BY table.Mot COLLATE (SELECT Langue.Trie 
                                              FROM Langue 
                                              WHERE Langue.Id_Langue = ' || :Id_langue_in || ')
ou la ca marche

merci

a+
olivier

PS firebird 2.5