我正在尝试使用一个select语句和一个变量 $ userid ,该变量设置为IN运算符内的用户ID,如下所示:
"SELECT id FROM users WHERE id IN ((SELECT manager_id FROM managers), $userid)";
但它不起作用。当我删除 $ userid 时,它可以工作,但我也需要包含用户ID。这是强制性的。我该怎么做?
我是个菜鸟。请原谅我。
谢谢!
答案 0 :(得分:0)
@Mark Baker作为评论的答案是正确的:
"SELECT id FROM users WHERE id IN (SELECT manager_id FROM managers) OR id = $userid)";
答案 1 :(得分:0)
如果ID与外键链接,因为它似乎是合理的,您也可以使用JOIN来获得相同的结果并获得更好的性能:
SELECT u.*
FROM users u
LEFT JOIN managers m ON m.manager_id = u.id
WHERE m.manager_id IS NOT NULL OR uid = $userid
答案 2 :(得分:0)
" SELECT id FROM users WHERE id IN(SELECT manager_id FROM managers UNION SELECT $ userid)&#34 ;;