考虑这三个表:选择新闻,加入多个标签
新闻(专栏:身份证等)
News_Tag_Cross(列:ID,NewSID的,标签识别)
标签(专栏:身份证,姓名)
如何获得所有具有两个标签的新闻报道:“经销商”和“客户”?
我可以运行此查询的两个标签& UNION的结果,但对于无论是经销商标签或客户标签返回行。显然,我想返回加入的新闻内容,这两个内容都是。
SELECT n.id FROM news
INNER JOIN news_tag_cross ntc
ON ntc.newsid=n.id
INNER JOIN tags t
ON t.id=ntc.tagid
WHERE news_tag_cross.tagID = 'DealerID'
我必须指出,这是我当前查询的一个粗略的翻译 - 我真的不想放弃表名等,或者混淆与额外的列和数据的人。
放弃的表名?这有点偏执是不是?请注意,'news_tags_cross'表中的'id'似乎没有用处。 – Strawberry 2014-11-24 16:01:03
安全性和简化。 PS。一个ID始终有一个目的。 – coderMe 2014-12-17 22:20:01
啊,听起来像Celko说话 – Strawberry 2014-12-17 23:23:24