我有几个使用SELECT CASE语法的视图。但是当我创建一个备份脚本并尝试恢复时,我得到语法错误。但请记住,视图已成功创建第一个地方。MYSQL“SELECT CASE”查看语法错误
在我的几个“SELECT CASE”语法观就在这里
DROP VIEW IF EXISTS `v_stockmovement` ;
CREATE VIEW `v_stockmovement`
AS
SELECT stock_mov.id AS ID,
stock_category.stock_category_code AS categorycode,
stock_mov_type,
(SELECT CASE stock_mov_type
WHEN 1 THEN 'Stock Issue'
WHEN 2 THEN 'Stock Reorder'
WHEN 3 THEN 'Stock Adjustment'
ELSE '' END) AS stock_mov_typedesc,
(SELECT stock_mov_unitcost * stock_mov_quantity) AS cost,
stock_mov_comments
FROM stock_mov
INNER JOIN stock ON stock.stock_code = stock_mov.stock_mov_linkstockcode
INNER JOIN stock_category ON stock_category.stock_category_code = stock.stock_linkcategory
;
什么可能我会丢失?
'(选择案例stock_mov_type ... ELSE '' END)AS stock_mov_typedesc'应该只是'CASE stock_mov_type ... ELSE''END AS stock_mov_typedesc'和'(SELECT stock_mov_unitcost * stock_mov_quantity)AS cost'应该是'stock_mov_unitcost * stock_mov_quantity AS cost'。你遇到了什么错误? –
@MartinSmith你应该写这个答案而不是评论。 – Romain
@Romain - 我没有解释为什么OP说它以前的工作。 –