SQL关于where id in的问题

请问一下,我有个table是记录文章标签的,一个文章可以有几个标签,比如有3篇文章,aid分别为1,2,3,然后又5个标签,tid分别为1,2,3,4,5。table的格... 请问一下,我有个table是记录文章标签的,一个文章可以有几个标签,比如有3篇文章,aid分别为1,2,3,然后又5个标签,tid分别为1,2,3,4,5。 table的格式为
ID TID AID
1 1 1
2 1 2
3 1 3
。。。文章aid=1有cid=1,2,3三个标签,我想用sql选择含有标签cid=1或2两个的文章。。。select aid from table where cid in (‘1’,‘2’)。 但如果我想选择含有标签cid=1和2两个的文章(and不是or)的话,应该怎么写呢,需要用一句sql完成。。。我是sql新手,希望大家能开导开导,谢谢啦
还是换个方式来表达,select xxx from xxx where tid in (‘3’,‘4’),这里面 tid in (‘3’,‘4’)是tid =3 or tid = 4的意思,如果我想表达tid=3 and tid=4的话应该怎么写呢。。。。
展开
 我来答
wttlzx82
2011-05-10 · TA获得超过266个赞
知道答主
回答量:174
采纳率:0%
帮助的人:105万
展开全部
用 ‘INNER JOIN ’ 就可以了
但你描述的中 文章ID 是哪个啊 没太看明白 把下面的文章ID 带入你的文章字段名就可以了
select * from table a
inner join table b on a.文章ID = b.文章ID and b.TID = '2'
where a.TID = '1'
能看明白吧?看不明白再提 我给你补充!
学生文艺万岁
2019-10-13
知道答主
回答量:1
采纳率:0%
帮助的人:684
展开全部
select xxx from xxx where tid='2' and xxx in (select xxx from xxx where tid='4');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
稀杲浅情1h
2011-05-09 · TA获得超过122个赞
知道答主
回答量:132
采纳率:4%
帮助的人:22.8万
展开全部
select aid from table where cid='1' or cid='2';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
摆渡浮桥
2011-05-09 · TA获得超过3629个赞
知道大有可为答主
回答量:1610
采纳率:100%
帮助的人:2207万
展开全部
select aid from tablename where cid in (1,2)
group by aid
having count(aid) = 2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaozhekang110
2011-05-10 · TA获得超过1841个赞
知道小有建树答主
回答量:671
采纳率:0%
帮助的人:864万
展开全部
我觉得你还是没表达明白,CID从哪里来的我没看出来,我看你这个表没有CID这一列。

TID = 3 AND TID = 4
这是一个不可能符合的条件,哪有既等于3又等于4的?
要么3要么4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式