我想更新员工数据库中助理工程师的工资,而不需要对工资、头衔和员工表进行内部连接。可以吗?谢谢。
我在试这个剧本。
DELIMITER //
DROP PROCEDURE IF EXISTS psegui3 //
CREATE PROCEDURE psegui3()
-- we update first Assitant Egineer
UPDATE salaries s
SET s.salary = salaries + 500
INNER JOIN
(SELECT salaries.emp_no, titles.title FROM salaries)
WHERE titles.title='Assistant Engineer' AND titles.to_date='9999-01-01' AND
salaries.to_date='9999-01-01')
END //
DELIMITER ;
我自己在学。谢谢
1条答案
按热度按时间2guxujil1#
您在
UPDATE
查询中遇到了许多问题,这些问题与过程无关。它们应该是:JOIN
出现在SET
之前。1.您需要表之间的连接条件。
1.不需要与子查询联接。
1.如果你有一个子查询,它需要从
titles
中选择,而不是salaries
,在这种情况下,它不能选择salaries.emp_no
。1.为表分配别名时,必须在查询的其余部分使用别名,而不是完整的表名。