0

这个 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 附近使用的正确语法 tblgrnInitialLabNo , invlabtesscale. Code 第 22 行的 AS LabNo'

执行时间:0 秒传输时间:0 秒总时间:0.018 秒

4

1 回答 1

0

删除 UNION 和 SELECT 之间的括号。

UNION
 (SELECT

应该

UNION
 SELECT

您可能还需要删除右括号。

于 2014-03-28T11:22:30.743 回答