MYSQL "SELECT CASE" ошибка синтаксиса представления - PullRequest
0 голосов
/ 11 октября 2011

У меня есть пара представлений, которые используют синтаксис 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
; 

Чего мне не хватать?

1 Ответ

3 голосов
/ 11 октября 2011

попробуйте это: (Я снял скобки и 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,
CASE stock_mov_type 
  WHEN 1 THEN 'Stock Issue' 
  WHEN 2 THEN 'Stock Reorder'
  WHEN 3 THEN 'Stock Adjustment'
  ELSE '' 
END stock_mov_typedesc,
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
; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...