我有两个表,即mit_follow& mit_tweets
在mit_follow表格结构中:
Id UserName followers Following
1 dobriyalji manish Sachin
2 dobriyalji karthik parul
在mit_tweets表格结构中:
Id UserName tweets
1 dobriyalji hi everybody
2 manish hello all m karthik
我想写这个选择查询..
如果我使用用户名dobriyalji登录....并在mit_tweets表中发布推文,那么dobriyalji和他的所有粉丝都可以查看他们的消息和所有关注者msgs将被dobriyalji查看...我使用gridview显示mit_tweets表在webform ....
如果有任何新会员登录他们的帐户并发布推文,那么在gridview中只会显示新成员的消息...
任何正文都可以为此编写选择查询吗?
答案 0 :(得分:2)
我不确定你的mit_follow表。你的粉丝和关注列并没有多大意义。当然桌子看起来应该更像:
id user user_followed
** *************** ******************
1 dobriyalji Sachin
2 dobriyalji parul
3 manish dobriyalji
4 karthik dobriyalji
查询
会容易得多答案 1 :(得分:0)
SELECT mit_tweets.*
FROM mit_tweets
WHERE username = 'dobriyalji'
UNION
SELECT t2.*
FROM mit_tweets
INNER JOIN mit_follow ON mit_tweets.Username = mit_follow.Username
INNER JOIN mit_tweets t2 ON mit_follow.following = t2.Username
WHERE mit_tweets.username = 'dobriyalji'
这是你的意思吗?
或许这个:
select *
from mit_tweets
where Username = 'dobryialji'
or username in ( select mit_follow.followers from mit_follow where mit_follow.username = mit_tweets.username )
这对我没有意义。如果我是dobryialji,那么我想看到自己的推文,以及我关注的人的推文。如果这是真的,那么将mit_follow.followers更改为mit_follow.following。