自动形成的 SQL 查询中的语法错误
我正在尝试生成一个与智能搜索字段一起使用的查询,ala google 建议。
尽管我可以通过日志查看进行了哪些查询,但我无法直接形成查询。
我已经发布了发送的查询,该查询有语法错误,但我不确定为什么。
SELECT DISTINCT IF(guests.passport != '', Concat(guests.passport,
IF(
guests.lastname !=
''
OR guests.passport!= '',
Concat
(' (',
IF(guests.lastname !=
'',
guests.lastname,
'{blank}')
, ', ',
IF(
guests.firstname != ''
, guests.passport,
'{blank}')
, ')'), '')),
IF(guests.lastname != ''
OR guests.passport!= '', Concat(IF(guests.lastname != '',
guests.lastname,
'{blank}'), ', ',
IF(
guests.passport!= '',
guests.passport, '{blank}')),
''
)) AS display,
`guests`.`uuid` AS VALUE,
as secondary,
guests.id AS classname
FROM guests
WHERE ( guests.id = 0 )
AND ( ( guests.firstname LIKE 'b%'
OR guests.lastname LIKE 'b%'
OR guests.passport LIKE 'b%' )
OR (( guests.firstname LIKE 'b%'
OR guests.firstname LIKE '% b%'
OR guests.lastname LIKE 'b%'
OR guests.lastname LIKE '% b%'
OR guests.passport LIKE 'b%'
OR guests.passport LIKE '% b%' )) )
ORDER BY IF(guests.passport != '', Concat(guests.passport,
IF(guests.lastname != ''
OR
guests.passport!= '',
Concat
(' (',
IF(guests.lastname != '',
guests.lastname, '{blank}')
, ', ',
IF(
guests.firstname != ''
, guests.passport,
'{blank}')
, ')'), '')),
IF(guests.lastname != ''
OR guests.passport!= '', Concat(IF(guests.lastname != '',
guests.lastname,
'{blank}'
), ', ',
IF(
guests.passport!= '', guests.passport,
'{blank}'
)),
''
))
LIMIT 0, 8
该查询中有任何明显的错误吗?
I am trying to generate a query for use with a smart search field, ala google suggest.
I can not form the query directly, although I can see what query was made via the logs.
I have posted the query that gets sent, which has a syntax error but I am unsure why.
SELECT DISTINCT IF(guests.passport != '', Concat(guests.passport,
IF(
guests.lastname !=
''
OR guests.passport!= '',
Concat
(' (',
IF(guests.lastname !=
'',
guests.lastname,
'{blank}')
, ', ',
IF(
guests.firstname != ''
, guests.passport,
'{blank}')
, ')'), '')),
IF(guests.lastname != ''
OR guests.passport!= '', Concat(IF(guests.lastname != '',
guests.lastname,
'{blank}'), ', ',
IF(
guests.passport!= '',
guests.passport, '{blank}')),
''
)) AS display,
`guests`.`uuid` AS VALUE,
as secondary,
guests.id AS classname
FROM guests
WHERE ( guests.id = 0 )
AND ( ( guests.firstname LIKE 'b%'
OR guests.lastname LIKE 'b%'
OR guests.passport LIKE 'b%' )
OR (( guests.firstname LIKE 'b%'
OR guests.firstname LIKE '% b%'
OR guests.lastname LIKE 'b%'
OR guests.lastname LIKE '% b%'
OR guests.passport LIKE 'b%'
OR guests.passport LIKE '% b%' )) )
ORDER BY IF(guests.passport != '', Concat(guests.passport,
IF(guests.lastname != ''
OR
guests.passport!= '',
Concat
(' (',
IF(guests.lastname != '',
guests.lastname, '{blank}')
, ', ',
IF(
guests.firstname != ''
, guests.passport,
'{blank}')
, ')'), '')),
IF(guests.lastname != ''
OR guests.passport!= '', Concat(IF(guests.lastname != '',
guests.lastname,
'{blank}'
), ', ',
IF(
guests.passport!= '', guests.passport,
'{blank}'
)),
''
))
LIMIT 0, 8
Is there any glaring error in that query?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看这部分:
()
不是有效的 WHERE 子句。Look at this part:
()
is not a valid WHERE clause.