Sql 如何执行此搜索结果?
我有一个关于LINQ的问题,我不知道如何得到我需要的结果 在我的社交网络中,我有追随者板,我还有一个搜索框,可以通过姓名或电子邮件找到相关的追随者 我的问题是,我不知道如何得到这个结果。拥有用户的昵称或电子邮件,搜索相关的关注者 这是我的追随者表:Sql 如何执行此搜索结果?,sql,asp.net-mvc-3,Sql,Asp.net Mvc 3,我有一个关于LINQ的问题,我不知道如何得到我需要的结果 在我的社交网络中,我有追随者板,我还有一个搜索框,可以通过姓名或电子邮件找到相关的追随者 我的问题是,我不知道如何得到这个结果。拥有用户的昵称或电子邮件,搜索相关的关注者 这是我的追随者表: ---------------------------- | ID | UserID | FollowerID | ---------------------------- 我的用户表(仅我需要的列) 我的搜索框将能够通过昵称或电子邮件搜索结果 我
----------------------------
| ID | UserID | FollowerID |
----------------------------
我的用户表(仅我需要的列)
我的搜索框将能够通过昵称或电子邮件搜索结果
我尝试执行此查询:
SELECT u.ID, u.Thumbnail, u.Nickname, u.Email
FROM dbo.[User] u
INNER JOIN dbo.Followers f
ON f.FollowerID = u.ID
WHERE f.UserID=4 and u.Nickname LIKE 'Laura'
ORDER BY u.Nickname
在这种情况下,我将是UserID=4,我将能够执行我的追随者的搜索请求
有人能帮我执行这个查询吗?可能你正在寻找类似的东西 假设您的搜索框包含输入
Laura
,我相信您希望搜索包含文本Laura
的列昵称和Email
类似于“%Laura%”
将返回包含文本Laura的行,该行位于列的任何位置
类似于“Laura%”
将返回列文本以文本Laura开头的行
简单地使用类似“Laura”的,
将只返回与文本Laura完全匹配的行
样本数据:
它不会给我带来结果。。。我的关注者表中有UserID=4,我有劳拉,其中UserID=2作为FollowerID=2,我的关注者表中有昵称“劳拉”。。。所以它应该会给我带来结果,劳拉,谢谢你,西瓦,我在我的追随者表中切换了UserID和FollowerID。
SELECT u.ID, u.Thumbnail, u.Nickname, u.Email
FROM dbo.[User] u
INNER JOIN dbo.Followers f
ON f.FollowerID = u.ID
WHERE f.UserID=4 and u.Nickname LIKE 'Laura'
ORDER BY u.Nickname
SELECT u.ID
, u.Thumbnail
, u.Nickname
, u.Email
FROM dbo.[User] u
INNER JOIN dbo.Followers f
ON f.FollowerID = u.ID
WHERE f.UserID = 4
AND (
u.Nickname LIKE '%Laura%'
OR u.Email LIKE '%Laura%'
)
ORDER BY u.Nickname
var results = from u in users
join f in followers on f.Userid equals u.id
where u.Nickname.Contains('Laura') || u.Email.Contains('Laura')
&& f.UserID==4
select new {ID = u.ID,
Thumbnail = u.thumbnail,
Nickname = u.Nickname,
Email = u.Email }