Sql 如何执行此搜索结果?

Sql 如何执行此搜索结果?,sql,asp.net-mvc-3,Sql,Asp.net Mvc 3,我有一个关于LINQ的问题,我不知道如何得到我需要的结果 在我的社交网络中,我有追随者板,我还有一个搜索框,可以通过姓名或电子邮件找到相关的追随者 我的问题是,我不知道如何得到这个结果。拥有用户的昵称或电子邮件,搜索相关的关注者 这是我的追随者表: ---------------------------- | ID | UserID | FollowerID | ---------------------------- 我的用户表(仅我需要的列) 我的搜索框将能够通过昵称或电子邮件搜索结果 我

我有一个关于LINQ的问题,我不知道如何得到我需要的结果

在我的社交网络中,我有追随者板,我还有一个搜索框,可以通过姓名或电子邮件找到相关的追随者

我的问题是,我不知道如何得到这个结果。拥有用户的昵称或电子邮件,搜索相关的关注者

这是我的追随者表:

----------------------------
| 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 }