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 構文にエラーがあります。'UNION SELECT の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください tblgrnInitialLabNoinvlabtesscaleCode 22 行目の AS LabNo'

実行時間 : 0 秒 転送時間 : 0 秒 合計時間 : 0.018 秒

4

1 に答える 1

0

UNION と SELECT の間のブラケットを取り外します。

UNION
 (SELECT

する必要があります

UNION
 SELECT

閉じブラケットも取り外す必要がある場合があります。

于 2014-03-28T11:22:30.743 に答える