首页 新闻 赞助 找找看

sql查询问题,一个标签表,产品表和标签关联表,多对多的关系,怎么在标签关联表里查询同时关联多个标签的产品?

0
悬赏园豆:40 [已解决问题] 解决于 2012-08-13 17:12

比如有标签A,B,C,产品1,2,3,4,A关联1、2、3,B关联2、3,C关联2、3、4,

标签关联表,包括标签ID和产品ID两个字段,记录标签和产品的关联,比如
A 1,A 2,A 3,B 2,B 3,C 2,C 3,C 4,标签ABC都关联了产品2,如何通过Sql语句把这个同时关联了标签ABC的产品2查询出来?

simbel的主页 simbel | 初学一级 | 园豆:30
提问于:2012-08-11 11:20
< >
分享
最佳答案
0

 

问题描述:
已知关系模式:
S (SNO,SNAME)                       学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER)  课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE)        选课关系。SCGRADE 为成绩

3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名

--实现代码:
SELECT S.SNO,S.SNAME
FROM S,(
    SELECT SC.SNO
    FROM SC,C
    WHERE SC.CNO=C.CNO
        AND C.CNAME IN('1','2')
    GROUP BY SNO
    HAVING COUNT(DISTINCT CNO)=2
)SC WHERE S.SNO=SC.SNO 

可以对照这个改一下。

收获园豆:40
悟行 | 专家六级 |园豆:12559 | 2012-08-11 15:49
其他回答(2)
0

没人回答,我没说明白吗?

simbel | 园豆:30 (初学一级) | 2012-08-11 13:14
0

select product from (select product from (select  product from tablename t where t.biaoqian = 'a' ) t1 where t1.biaoqian = 'b' ) t2 where t2.biaoqian = 'c' ; 不知道对不对。。瞎死的。不过你可以试一下。

魔鬼张 | 园豆:212 (菜鸟二级) | 2012-08-11 15:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册