2016-06-10 17 views
0

Ich habe die folgende Abfrage und wollenSortierung durch berechnete Spalte in SQL Server nicht funktioniert

die Liste von Benutzernamen bestellen
select distinct 
    SUBSTRING(u.FullName, CHARINDEX(' ', u.FullName) + 1, LEN(u.FullName)) + ',  ' + SUBSTRING(u.FullName, 1, CHARINDEX(' ', u.FullName) - 1) as UserName 
from 
    Users u 
where 
    u.Active = 1 
order by 
    SUBSTRING(u.FullName, CHARINDEX(' ', u.FullName) + 1, LEN(u.FullName)) + ', ' + SUBSTRING(u.FullName, 1, CHARINDEX(' ', u.FullName) - 1) 

Das Problem hierbei ist, zwei der Benutzer mit Nachnamen r und w immer zeigen an oben in der Liste, während der Rest der Liste von A bis Z sortiert ist.

Irgendwelche Vorschläge, wie dies behoben werden kann?

Antwort

0

OOO, ich habe es jetzt, die zwei Benutzer, die an der Spitze der Liste zeigen, wurde ihr voller Name in der Datenbank mit zwei Leerzeichen zwischen Vor- und Nachnamen gespeichert. Linke Trimmung behebt das Problem

Verwandte Themen