我一直在尝试将此SQL查询转换为Linq一段时间,但没有成功。我发现不可能在与linq的连接中使用OR条件,因此我尝试了相同的SQL查询,但是使用了子查询。子查询问题根本不起作用,它显示错误的数据。
带有JOIN的sqlquery:
SELECT DISTINCT Users.Fname FROM Friends
JOIN Users On Users.UserID = UserID2 OR Users.UserID = UserID1
WHERE UserID1 = 1 OR UserID2 = 1
AND Users.UserID != 1 AND Friends.PendingFriendRequest = 0
带有子查询的sqlquery:
SELECT DISTINCT Users.Fname FROM Friends, Users
WHERE Users.UserID = Friends.UserID1 OR Users.UserID = Friends.UserID2
AND UserID1 = 1 OR UserID2 = 1
AND Users.UserID != 1 And Friends.PendingFriendRequest = 0
在您的查询中,如果首先条件UserID1 = 1
匹配,然后其余查询将被忽略。
尝试在查询中添加方括号:
SELECT DISTINCT Users.Fname FROM Friends
JOIN Users On Users.UserID = UserID2 OR Users.UserID = UserID1
WHERE (UserID1 = 1 OR UserID2 = 1)
AND Users.UserID != 1 AND Friends.PendingFriendRequest = 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句