你好呀
想象我有一张这样的 table
Id | Name | City
1 | Tom york | xx
2 | Jim york | xy
3 | tony | new York
4 | Sam york | xz
我想搜索名称为“%york%”或城市为“%york%”的记录
但是我想更优先考虑名称,所以我的 rresult 将是这样的:
Id | Name | City
1 | Tom york | xx
2 | Jim york | xy
4 | Sam york | xz
3 | tony | new York
也就是说,首先是名字像“%york%”的记录,然后是城市像“%york%”的记录
构建此查询的最佳方法是什么?我可以在一个查询中完成吗?
sql 或 linq to sql 中的答案会很棒
tks
最佳答案
我想你的意思是“但我想给名称更多的优先级”是你想首先在 "a"
中获取带有 Name
的实体,然后是其他实体(在 "a"
中带有 City
)。相应的 Linq-to-SQL 查询将是:
Entities
.Where(e => e.Name.Contains("a") || e.City.Contains("a"))
.OrderByDescending(e => e.Name.Contains("a"));
关于具有属性优先级的sql查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3816646/