这应该是这么简单,但我画空白。我有两张桌子。看起来很简单,但我很难过!
Table:article_tag_pvt
colum: article_id
column: tag_id
Table: tag
column: tag_id
column: name
article_tag_pvt
表是一个多对多的数据透视表。
问题是,我需要一个查询给出一个标签名称列表,它将检索只匹配那些标签名称的文章ID。基本这些表的加盟看起来是这样的:
SELECT article_id
FROM article_tag_pvt pvt
INNER JOIN tag t ON t.tag_id = pvt.tag_id
我已经有一个查询将检索匹配指定的任何标签名称这文章的ID。这看起来是这样的:
SELECT article_id
FROM article_tag_pvt pvt
INNER JOIN tag t ON t.tag_id = pvt.tag_id
WHERE t.name IN ('events','news')
我已经试过这些,但没有喜悦:
SELECT article_id
FROM article_tag_pvt pvt
INNER JOIN tag t ON t.tag_id = pvt.tag_id
WHERE t.name = 'events' AND t.name = 'news'
SELECT article_id
FROM article_tag_pvt pvt
INNER JOIN (
SELECT tag_id
FROM tag
WHERE name IN ('events','news')
) AS t
ON t.tag_id = pvt.tag_id
任何帮助,将不胜感激
戴夫
现货,感谢您的迅速响应。 – 2009-09-01 01:50:37