如果参数是特定值,则IN运算符仅返回

时间:2014-11-12 04:35:28

标签: php sql

我有一个问题表(包含问题)和一个标签表(包含每个问题的标签(用整数表示))。

我要做的是获取与IN运算符中具有相同标记的问题列表。

但是,如果1存在,则查询当前返回所有问题,如果不存在,则返回0。它不会返回标记整数与IN运算符匹配的问题。

这是一个SQLFiddle:http://sqlfiddle.com/#!2/c2ded3/2

2 个答案:

答案 0 :(得分:1)

idid = questions_tags.q_id似乎有点含糊不清。如果你做得更具体,那就成功了:

SELECT id FROM questions WHERE EXISTS (
    SELECT 1 FROM questions_tags WHERE
          questions.id = questions_tags.q_id AND
          questions_tags.t_id IN (1)
);

答案 1 :(得分:0)

可能是我错了但是根据我从问题中理解的这个查询可能会有所帮助: -

SELECT questions.id,
       questions_tags.id
FROM   questions,
       questions_tags
WHERE  questions.id = questions_tags.id
       AND questions_tags.t_id IN ( 1 ); 

希望这会有所帮助;