仅当 o.status_id
等于 4 或 5 时,我才尝试获取信息,但收到此错误
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the
right syntax to use near 'INNER JOIN order_items oi ON i.id = oi.item_id INNER JOIN orders o ON o.id =' at line 14
这是我的sql语句
$sql = '
SELECT
i.*,
o.*,
oi.*,
u.*,
YEAR(o.sold_date) sold_date_Y4,
MONTH(o.sold_date) sold_date_M4
FROM items i
WHERE o.status_id = 4 AND o.status_id = 5
INNER JOIN order_items oi ON i.id = oi.item_id
INNER JOIN orders o ON o.id = oi.order_id
INNER JOIN users u ON u.id = o.user_id
GROUP BY YEAR(o.sold_date), MONTH(o.sold_date), u.name, i.item
ORDER BY YEAR(o.sold_date), MONTH(o.sold_date), u.name, i.item
';
据我所知,我的 MySQL 版本是 5.7.23
最佳答案
问题是您在所有INNER JOIN
之前使用了WHERE
$sql = '
SELECT
i.*,
o.*,
oi.*,
u.*,
YEAR(o.sold_date) sold_date_Y4,
MONTH(o.sold_date) sold_date_M4
FROM items i
INNER JOIN order_items oi ON i.id = oi.item_id
INNER JOIN orders o ON o.id = oi.order_id
INNER JOIN users u ON u.id = o.user_id
WHERE o.status_id = 4 AND o.status_id = 5
GROUP BY YEAR(o.sold_date), MONTH(o.sold_date), u.name, i.item
ORDER BY YEAR(o.sold_date), MONTH(o.sold_date), u.name, i.item
';
关于php - 错误: You have an error in your SQL syntax in select statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56406281/