Ошибка при создании представления в MySQL. в то время как запрос выполняется правильно при независимом запуске

Этот запрос MySQL работает нормально независимо. Но когда я использую этот запрос, чтобы создать представление, то Error Code: 1064 сообщение появляется в sql yog. Пожалуйста, укажите причину этой ошибки.

CREATE
VIEW `databaseName`.`viewName` 
AS
((SELECT
`tblgrn`.`InitialLabNo`
, `invlabtes`.`Code` AS LabNo 
, `invlabmaterial`.`Description` AS material 
, `invlabtessubtable`.`SrNo` 
, `invlabtessubtable`.`Result` 
,COALESCE(NULL, 'Verified') AS TYPE
    , `tblgrn`.`Comp_Code` 
    , `tblgrn`.`Unit_Code`     
   , `tblgrn`.`UserId`
FROM
`tblgrn`
INNER JOIN `invlabtes` 
    ON (`tblgrn`.`InitialLabNo` = `invlabtes`.`Code`)
INNER JOIN `invlabtessubtable` 
    ON (`invlabtes`.`Code` = `invlabtessubtable`.`Code`)
INNER JOIN `invlabmaterial` 
    ON (`invlabtessubtable`.`TestCode` = `invlabmaterial`.`Code`))
UNION
 (SELECT
`tblgrn`.`InitialLabNo`
, `invlabtesscale`.`Code`  AS LabNo
, `invlabmaterial`.`Description`
, `invlabscalesubtable`.`SrNo`
, `invlabscalesubtable`.`Result`
,COALESCE(NULL, 'Running') AS TYPE
    , `tblgrn`.`Comp_Code` 
   , `tblgrn`.`Unit_Code`     
    , `tblgrn`.`UserId`
  FROM
`tblgrn`
INNER JOIN `invlabtesscale` 
    ON (`tblgrn`.`InitialLabNo` = `invlabtesscale`.`IniLabNo`)
INNER JOIN `invlabscalesubtable` 
    ON (`invlabtesscale`.`Code` = `invlabscalesubtable`.`Code`)
INNER JOIN `invlabmaterial` 
    ON (`invlabscalesubtable`.`TestCode` = `invlabmaterial`.`Code`)));

это сообщение об ошибке:

Код ошибки: 1064 У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с "UNION SELECT". tblgrn,InitialLabNo, invlabtesscale,Code AS LabNo'в строке 22

Время выполнения: 0 с Время передачи: 0 с Общее время: 0,018 с

1 ответ

Снимите кронштейн между UNION и SELECT.

UNION
 (SELECT

должно быть

UNION
 SELECT

Возможно, вам также придется снять закрывающую скобку.

Другие вопросы по тегам