以下是我对SQLite的sql语句:
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)
表Contacts包含Name和ChatName列。如果Name列不为null,则在排序中使用此列中的数据。如果为Null,则使用ChatName中的数据。两列永远不会同时为空。
sql语句确实返回正确的行但从未正确排序。知道为什么吗?谢谢!
答案 0 :(得分:0)
你可以简单地使用它:
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