用户:
userid username password
1 venkat reddy sa
2 reddy as
3 re sa
位置:
id userid lat lon
1 1 14.00 15.00
2 2 15.00 17.23
3 3 15.00 17.23
朋友:
id userid friendid isActive
1 1 2 true
1 2 1 true
我需要查询,如果我通过userid=1
和username=re
,那么我需要获取所有以re
开头的行,如果该用户已经是userid
的朋友给出状态消息,如already friend
及其用户名和用户ID。如果用户现在不是朋友,那么请提供他的详细信息,例如用户名和用户ID。
请告诉我....
Ex:userid = 1 username = re
然后我需要像
这样的输出 <OutputResponse>
<Response>
<userid>2</userid>
<username>reddy</username>
<lat>15.00</lat>
<lon>17.23</lon>
<status>already friend</status>
</Response>
<Response>
<userid>3</userid>
<username>re</username>
<lat>15.00</lat>
<lon>17.23</lon>
<status>not a friend as of now</status>
</Response>
</OutputResponse>
答案 0 :(得分:0)
你可以从这样的事情开始......
int userid=1;
string username="re";
var result=(from q in Users
join qq in Location on q.id equals qq.userid
where q.Username.StartsWith(username)
select new
{
userid=q.Id,
username=q.Username,
lat=l.lat,
lon=l.lon,
status=Friends.Where(z=>z.Friendid==q.Id&&z.Userid==userid).Count()>0?"already friend":"not a friend as of now"
});