Probleme Alias et Order by chez un client
Bonjour,
Dans une des applications de mon entreprise, nous utilisons cette syntaxe SQL depuis SQL 2000
Code:
1 2 3 4 5 6 7 8
| select distinct bu.matricule, nom=isnull(rtrim(ag.nom), ''), prenom=isnull(rtrim(ag.prenom), '')
from Bulletin bu
join Agents ag on ag.matricule = bu.matricule
where (bu.regime = 'TT')
and (bu.mandat = '' or bu.mandat is null)
and bu.centre_integre = 'O'
and bu.centre in (select centre from Var_Centre where mois_paie = 0 and a_mandater = 'O')
order by ag.nom, ag.prenom |
Nous avons migré notre client sur SQL 2012 (alors que mon entreprise est en 2008R2 voir 2010 pour certains).
Ce client a rencontré une erreur, alors que de mon côté je ne rencontre aucune erreur particulière.
En effet, chez le client la requête fonctionne uniquement si j'écris la clause ORDER BY de cette façon
Code:
order by nom, prenom
cela correspond au nom des Alias.
si je mets les préfixes " ag. " devant mes colonnes, SQL (2012) m'envoie un message d'erreur : "Les éléments ORDER BY doivent se retrouver dans la liste de sélection si SELECT DISTINCT est spécifié. "
correspondant au code erreur 145 de cette liste
Merci de m'apporter une aide précieuse, car j'ai bien peur que cela touche toutes nos applications et procédures stockées.