我正在尝试在MY SQL中创建以下存储过程:
create procedure UpdateLineItemGAPSTATOTH(IN TIP_LI_ID INT)
BEGIN
Update tip_entry_line_item set tip_entry_line_item.ACCT_NAME = app_gl_bridge.gl_description
from tip_entry_line_item LEFT JOIN
select app_gl_bridge.gl_code,app_gl_bridge.gl_description
FROM app_gl_bridge GROUP BY gl_code,gl_description ON tip_entry_line_item.GL_ACCT_CODE = app_gl_bridge.gl_code
WHERE tip_entry_line_item.TIP_LI_ID = TIP_LI_ID;
END
然而,它抛出错误:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'from tip_entry_line_item LEFT JOIN选择 app_gl_bridge.gl_code,app_gl_bridge“。在第4行
答案 0 :(得分:0)
你的SQL语法对我来说有点乱。 UPDATE语法中没有FROM,表引用应放在SET部分之前。
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
SELECT子查询相同(GROUP BY应该在最后),你也必须把它放在括号中
我不确定您的查询应该做什么,您可以查看有关UPDATE和子查询的答案:MySQL - UPDATE query based on SELECT Query