Мне нужно создать представление в MySQL, это код:
CREATE VIEW dashboard_sales AS (
SELECT o.order_id,o.order_date,o.order_status,op.op_status,oi.oi_qty
FROM
order o
LEFT JOIN
order_items oi
ON
o.order_id = oi.order_id
LEFT JOIN
order_payment op
ON
o.order_id = op.order_id
GROUP BY o.order_id
);
но когда я запускаю в phpmyadmin, я получаю сообщение об ошибке:
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'order o LEFT JOIN order_items oi ON o.order_id = oi.' at line 4
Как решить эту проблему?
Вам нужна обратная кавычка для order
CREATE VIEW dashboard_sales AS (
SELECT o.order_id,o.order_date,o.order_status,op.op_status,oi.oi_qty
FROM `order` o LEFT JOIN order_items oi
ON o.order_id = oi.order_id
LEFT JOIN order_payment op
ON o.order_id = op.order_id
);
Когда вы используете ключевые слова для названия таблиц, вы должны поместить таблицу между скобками.
CREATE VIEW dashboard_sales AS (
SELECT o.order_id,o.order_date,o.order_status,op.op_status,oi.oi_qty
FROM
[order] o
LEFT JOIN
order_items oi
ON
o.order_id = oi.order_id
LEFT JOIN
order_payment op
ON
o.order_id = op.order_id
GROUP BY o.order_id
);
Удалите круглые скобки в инструкции создания представления. Вы уверены, что этот код действительно работал в MySQL без ошибок?