Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在mysql中创建视图时出错。而查询在独立运行时正确运行_Mysql_Sql_Sqlyog - Fatal编程技术网

在mysql中创建视图时出错。而查询在独立运行时正确运行

在mysql中创建视图时出错。而查询在独立运行时正确运行,mysql,sql,sqlyog,Mysql,Sql,Sqlyog,这个mysql查询可以独立运行。但当我使用此查询创建视图时,sql yog中会出现错误代码:1064消息。请确定此错误的原因 CREATE VIEW `databaseName`.`viewName` AS ((SELECT `tblgrn`.`InitialLabNo` , `invlabtes`.`Code` AS LabNo , `invlabmaterial`.`Description` AS material , `invlabtessubtable`.`SrNo` , `in

这个mysql查询可以独立运行。但当我使用此查询创建视图时,sql yog中会出现
错误代码:1064
消息。请确定此错误的原因

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服务器版本对应的手册,了解使用near'UNION的正确语法 挑选
tblgrn
InitialLabNo
invlabtescale
code
作为第22行的标签号

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

删除UNION和SELECT之间的括号

UNION
 (SELECT
应该是

UNION
 SELECT

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

此错误通常指向语法中发生错误的地方。你能包括完整的错误信息吗?我现在已经包括了有问题的错误信息。plz check it@GordonLinoffI已经删除了union和select之间的括号,以及查询的两个部分(第一部分和第二部分)中相应的结束括号。但是仍然有一些错误,你使用的是什么版本的MySQL?@Donal。删除两个子查询周围的所有括号。早期版本的MySQL中不提供视图。我使用的是
5.5.33-31.1
version。即使删除了两个子查询周围的所有括号,错误仍然会出现