读书人

稍微复杂的sql语句

发布时间: 2012-03-19 22:03:05 作者: rapoo

求一个稍微复杂的sql语句
有一些人,分别在一些组中,有的人可能在两个组中。每人有一篇文章,我怎么根据随意的一个找到他所在的组的所有文章。

例如:A B C D 四个人 X Y Z 三个组
A=> X B=> X/Z C=> Y D=> Z (人=> 组,例如B=> X/Z 意思是B属于 X 和Z 两个组)

例如现在根据B 我怎么找到B所在的组的所有文章。

数据库表1是每个人和组的对照表,数据库表2是每个人的文章(表2中没有组的信息)
table1
person class
table2
person article

这样的sql语句应该怎么写?

[解决办法]
select table1.persion,table2.article
from table1 innser join table2
on table1.persion=table2.persion
where table1.class= 'Z '
[解决办法]
select article from table2 where table2.person in
(select DISTINCT person from table1 where class in
( select class from table1 where person = 'B ') )

读书人网 >Mysql

热点推荐