在同一个表中选择具有相同ID但不同类别的表

问题描述 投票:-1回答:3

我尝试阅读但仍然无法弄清楚如何处理此请求:

我有这样一张桌子:

id_news  id_category   id_opinion   
113      5             152 
112      5             152 
152      8             0 
153      8             0 
114      5             153
115      5             153

我想把我的帖子称为id_category 5&8和id_news,就像id_opinion一样我正在做这个陈述,但我不认为这是正确的

select * from news where id_category = '5' AND id_category='8' AND id_news = id_opinion

谢谢

mysql database where-clause
3个回答
2
投票

你需要使用OR作为id_category,例如:

SELECT * 
FROM news 
WHERE (id_category = '5' OR id_category='8') AND id_news = id_opinion;

另一种选择是使用IN,例如:

SELECT * 
FROM news 
WHERE id_category IN ('5', '8') AND id_news = id_opinion;

0
投票

您可以使用IN运算符来过滤id_category 5和8:

SELECT * 
FROM news 
WHERE id_category IN ('5', '8') AND id_news = id_opinion;

0
投票

这可能有效。

SELECT c.`id_news` as `newsId`,c.id_category as `Category`,c.id_opinion as `opinion`,d.`id_news` as `newsId1`,d.id_category as `Category1`,d.id_opinion as `opinion1` 
from news as c 
JOIN news as d on c.`id_news` = d.`id_opinion`
where c.id_category in(5,8)
© www.soinside.com 2019 - 2024. All rights reserved.