SQL для SQLite: сортировка не работает с пустыми столбцами - PullRequest
1 голос
/ 14 сентября 2011

Ниже приведен мой SQL-оператор для SQLite:

Select UGM.*, C.Name, C.ChatName From
UserGroupMembers UGM Inner Join Contacts C On C.ContactID = UGM.MemberID
Where (UGM.OwnerID = ?) And (UGM.UserGroupID = ?)
Order By COALESCE(C.Name, C.ChatName) 

В таблице «Контакты» содержатся столбцы «Имя» и «Чат-имя».Если столбец Имя не является нулевым, то данные из этого столбца используются при сортировке.Если это Нуль, то вместо этого должны использоваться данные из ChatName.Оба столбца никогда не будут равны нулю одновременно.

Оператор sql возвращает правильные строки, но он никогда не сортируется должным образом.Есть идеи почему?Спасибо!

1 Ответ

0 голосов
/ 14 сентября 2011

Вы можете просто использовать это:

Select * from (
  Select UGM.*, C.Name, C.ChatName, COALESCE(C.Name, C.ChatName) as Sorting 
    From UserGroupMembers UGM 
    Inner Join Contacts C On C.ContactID = UGM.MemberID
    Where (UGM.OwnerID = ?) And (UGM.UserGroupID = ?))
) Order By Sorting
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...