创建视图MySQL中的语法错误
我试图创建一个视图,从日志(Registro tracto和Registro Operador)中提取与LoadOrder(Orden de carga)的行程(viaje)相对应的最后一个条目,并显示每个“Load Order with info” 我已经绘制了下一个视图,但由于Sytaxis错误,我无法使其工作创建视图MySQL中的语法错误,mysql,sql,views,Mysql,Sql,Views,我试图创建一个视图,从日志(Registro tracto和Registro Operador)中提取与LoadOrder(Orden de carga)的行程(viaje)相对应的最后一个条目,并显示每个“Load Order with info” 我已经绘制了下一个视图,但由于Sytaxis错误,我无法使其工作 `CREATE VIEW `OrdenEnCurso` AS SELECT OC.'NO_ORDEN_DE_CARGA' AS 'ORDEN DE CARGA'
`CREATE VIEW `OrdenEnCurso` AS
SELECT OC.'NO_ORDEN_DE_CARGA' AS 'ORDEN DE CARGA'
, OC.'ID_VIAJE' AS 'ID DE VIAJE'
, RT.'TRACTO_ECO' AS 'TRACTO'
, ROO.'NOMBRE' AS 'N.OPERADOR',
GF.S AS 'GASTOS FINANCIADOS'
FROM
'ORDEN_DE _CARGA' AS OC
INNER JOIN (SELECT 'TRACTO_ECO','ID_VIAJE' FROM 'REGISTRO_TRACTO' GROUP BY
'ID_VIAJE' HAVING MAX('FECHAHORA') ) AS RT
ON OC.ID_VIAJE=RT.ID_VIAJE
INNER JOIN (SELECT CONCAT_WS(',',O.AP_PAT,O.AP_MAT,O.NOMBRE) AS 'NOMBRE'
FROM 'OPERADOR' AS O
INNER JOIN (SELECT 'ID_VIAJE','NO_OPERADOR' FROM 'REGISTRO_OPERADOR'
GROUP BY 'ID_VIAJE' HAVING MAX('FECHAHORA') ) AS RO
ON RO.NO_OPERADOR=O.NO_OPERADOR) AS ROO
ON OC.ID_VIAJE=ROO.ID_VIAJE
INNER JOIN (SELECT 'OC',SUM(IMPORTE) AS S FROM 'GASTOS_F_CLIENTE'
GROUP BY
'NO_ORDEN_DE_CARGA') AS GF ON OC.NO_ORDEN_DE_CARGA=GF.OC;
另外,正如你可能看到的,我想把操作员的名字和昏迷分开。最后加上客户将为每个LoadOrder额外支付的金额
错误代码:1064。您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第2行0.000秒处“NO_ORDEN_DE_CARGA”作为“ORDEN DE CARGA”,OC“ID_VIAJE”作为“ID DE VIAJE”,R”附近使用的正确语法
您混淆了记号和引号的用法 试试这个SQL语句
CREATE VIEW OrdenEnCurso AS
SELECT OC.NO_ORDEN_DE_CARGA AS `ORDEN DE CARGA`,
OC.ID_VIAJE AS `ID DE VIAJE`,
RT.TRACTO_ECO AS TRACTO,
ROO.NOMBRE AS `N.OPERADOR`,
GF.S AS `GASTOS FINANCIADOS`
FROM ORDEN_DE_CARGA AS OC
INNER JOIN (
SELECT TRACTO_ECO, ID_VIAJE
FROM REGISTRO_TRACTO
GROUP BY ID_VIAJE
HAVING MAX(FECHAHORA)
) AS RT
ON OC.ID_VIAJE = RT.ID_VIAJE
INNER JOIN (
SELECT CONCAT_WS(`,`,O.AP_PAT,O.AP_MAT,O.NOMBRE) AS NOMBRE
FROM OPERADOR AS O
INNER JOIN (
SELECT ID_VIAJE, NO_OPERADOR
FROM REGISTRO_OPERADOR
GROUP BY ID_VIAJE
HAVING MAX(FECHAHORA)
) AS RO
ON RO.NO_OPERADOR=O.NO_OPERADOR
) AS ROO
ON OC.ID_VIAJE=ROO.ID_VIAJE
INNER JOIN (
SELECT OC,SUM(IMPORTE) AS S
FROM GASTOS_F_CLIENTE
GROUP BY NO_ORDEN_DE_CARGA
) AS GF
ON OC.NO_ORDEN_DE_CARGA=GF.OC;
什么错误?错误代码:1064。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解使用“NO_ORDEN_DE_CARGA”作为“ORDEN DE CARGA”,OC“ID_VIAJE”作为“ID DE VIAJE”,R”在第2行0.000部分的正确语法。很多时候,我学习MySQL已经快一年了,但从那以后就没有练习过。