人员 与 项目,关系为多对多。
人员表
create table Person
( personId int primary key,
name char(200)
);
项目表
create table Project
( projectId int primary key,
name char(200)
);
关联表
create table PersonProject
( personId int,
projectId int
);
现有人员4个(人员1,人员2,人员3,人员4)
项目4个(项目1,项目2,项目3,项目4)
人员参与项目情况:
人员1 -> (项目1,项目2)
人员2 -> (项目1,项目2,项目3)
人员3 -> (项目2,项目3)
人员4 -> (项目1,项目3,项目4)
想要求查询同时参与项目1与项目2的人员是谁?答案应该是人员1,人员2!
求sql语句写法?注意是同时参与项目1和项目2,不是参与项目1或项目2!!!
------解决思路----------------------
select distinct pp.personid
from PersonProject pp,PersonProject pp1
where pp.personid=pp1.persionid and pp.project='项目1' and pp1.Projectid='项目2';
这个方法比较笨,呵呵,我也是才学。等大神吧