两个表之间的MySQL查询并发现不为空

时间:2014-01-20 09:47:41

标签: mysql

我有2个表,一个用于文章,一个用于某些属性 我有一些产品有一个属性值为Yes。我还有其他属性。 我想要创建的查询是获取所有不具备属性7的产品。

您可以查看mysql表。

http://sqlfiddle.com/#!2/f75eec/1

2 个答案:

答案 0 :(得分:2)

select a.ArticleID,a.ArticleTitle,aa.ArticleID,aa.AttrID,aa.StringValue
from cms_articles a
inner join cms_attr_art aa on aa.ArticleID = a.ArticleID
where a.ArticleID NOT IN (select ArticleID from cms_attr_art where AttrID = 7);

答案 1 :(得分:0)

您可以使用此查询

SELECT a.ArticleId, b.attrId
FROM cms_articles a
INNER JOIN cms_attr_art b
ON a.articleId = b.articleId
WHERE NOT EXISTS (SELECT 1 FROM cms_attr_art c WHERE c.articleid = a.articleid AND c.attrId = 7)