这是在第一次选择时抛出语法错误-为什么?
CREATE DEFINER=`root`@`localhost` PROCEDURE `get_cand_by_pos_skill`(IN id INT)
BEGIN
SELECT * FROM candidates
WHERE cid = ANY(SELECT candid FROM positionskills p, candidate_skills s WHERE p.positionid = id and s.skillid = p.skill);
END
1条答案
按热度按时间vohkndzv1#
您需要将分隔符定义为其他内容(例如:
$$
)除;
. 最后重新定义回;
请不要使用基于逗号的隐式联接。这些都是过时的和容易出错的。请换成摩登的JOIN .. ON
基于语法。切换到
IN
而不是= ANY
:请尝试以下操作: