请问,有人能告诉我的sql请求有什么问题吗?
这是一个结果:
数据库错误:SQL无效:
SELECT
COUNT(DISTINCT i.item_id)
FROM
(
(
va_items i
INNER JOIN va_items_categories ic
ON i.item_id = ic.item_id
)
INNER JOIN va_categories c
ON c.category_id = ic.category_id
)
WHERE i.is_showing = 1
AND i.is_approved = 1
AND (
(
i.hide_out_of_stock = 1
AND i.stock_level > 0
)
OR i.hide_out_of_stock = 0
OR i.hide_out_of_stock IS NULL
)
AND (
i.language_code IS NULL
OR i.language_code = ''
OR i.language_code = 'en'
)
AND i.sites_all = 1
AND i.guest_access_level & 2
AND (
ic.category_id = 53
OR c.category_path LIKE '0,48,53,%'
) (i.price > 0
AND i.is_sold = 0)
这是错误:
MySQL错误:您的SQL语法出错;检查手册 对应于您的MySQL服务器版本,以获得正确的语法 在第1行'(i.price> 0和i.is_sold = 0)附近使用
一个不能写完整的请求,因为有一个巨大的脚本,用很多逻辑形成这个请求。
请帮帮我
答案 0 :(得分:2)
在(i.price > 0 AND i.is_sold = 0)
尝试
AND (i.price > 0 AND i.is_sold = 0)
或
OR (i.price > 0 AND i.is_sold = 0)
答案 1 :(得分:0)
(ic.category_id = 53 OR c.category_path LIKE '0,48,53,%') (i.price > 0 AND i.is_sold = 0)
这不是有效的SQL。在闭括号和开括号之间需要一些东西,可能是AND。