日期:2014-05-16  浏览次数:20691 次

请教高手一个SQL语句的问题
有一个消息收发表,主要有三个字段msg_id、user_id、author_id,即消息ID、收信人与发信人。
现在要查找用户消息的对应关系,大致如下:
原表:
-------------------------------------------------
msg_id | user_id | author_id
-------------------------------------------------
1 | 2 | 1
2 | 3 | 1
3 | 1 | 2
4 | 3 | 2
-------------------------------------------------

如何查出如下结果:
---------------------------
msg_id | user_id
---------------------------
1 | 1
2 | 1
3 | 1
1 | 2
3 | 2
4 | 2
2 | 3
4 | 3

------解决方案--------------------
规则是什么样子的?
------解决方案--------------------
SQL code
select msg_id, user_id
from 消息收发表
union
select msg_id, author_id
from 消息收发表

------解决方案--------------------
select msg_id,user_id from 原表
union all
select msg_id,author_id from 原表
------解决方案--------------------
为什么要用视图呢?是不是你还要在视图基础上,再查询。。。。?