首页 > 解决方案 > PDOException: SQLSTATE [42000]

问题描述

致命错误:未捕获的 PDOException:SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1026 行 {path} 的第 14 行的“AND Sold = 0 ORDER BY Date DESC,Count DESC,Price ASC”附近使用正确的语法

询问:

select * from (numbers t inner join (select distinct n.Number
from (
  select 1 start union all select 2  union all select 3 union all 
  select 4 union all select 5 
) s cross join numbers n
where 
  left(substring(n.Number, s.start, 2), 1) <> right(substring(n.Number, s.start, 2), 1)
  and
  n.Number like concat(
    '%', substring(n.Number, s.start, 2), 
    substring(n.Number, s.start, 2),
    substring(n.Number, s.start, 2),
    substring(n.Number, s.start, 2), '%'
  )) n on n.Number = t.Number) AND Sold = 0 ORDER BY Date DESC,Count DESC,Price ASC

标签: mysqlsql

解决方案


看来你之前有一对错误的numbers t .... and SOLD = 0

select * 
from numbers t 
inner join (select distinct n.Number
  from (
    select 1 start 
    union all select 2  
    union all select 3 
    union all select 4 
    union all select 5 
) s 
cross join numbers n
where 
  left(substring(n.Number, s.start, 2), 1) <> right(substring(n.Number, s.start, 2), 1)
  and
  n.Number like concat(
    '%', substring(n.Number, s.start, 2), 
    substring(n.Number, s.start, 2),
    substring(n.Number, s.start, 2),
    substring(n.Number, s.start, 2), '%'
  )) n on n.Number = t.Number AND Sold = 0 
  ORDER BY Date DESC,Count DESC,Price ASC

无论如何做几个嵌套子查询检查我的建议是否真的是你需要的


推荐阅读