查询无法获取所有结果

时间:2014-10-31 22:09:46

标签: php mysql sql

我对我所做的查询有点问题,它没有获取所有结果。它应该至少提出3行,但只提出一行:

SELECT * FROM n_news WHERE article_id IN 
(SELECT DISTINCT article_id FROM nk_article_category 
WHERE category_id IN (2,10,11,12))
ORDER BY article_featured DESC,article_published DESC

screenshot DB

任何人都知道我做错了什么? MySQL没有发现任何错误。提前致谢 左边是表nk_article_category中的article_id和right = category_id。有一个结果,但没有看到显示整个表的重点

1 个答案:

答案 0 :(得分:0)

根据您发布的查询数据图片我看到的内容,您的查询返回正确的结果。行都是不同的(如果article_id和category_id在多行中相同,则会被认为是重复的。)

顺便说一句,您可以将发布的查询更改为INNER JOIN,而不是使用

等子查询
SELECT t1.* 
FROM n_news t1
INNER JOIN nk_article_category t2
ON t1.article_id = t2.article_id
AND t2.category_id IN (2,10,11,12)
ORDER BY t1.article_featured DESC, t1.article_published DESC;