J'essaie de générer une requête pour une utilisation avec un champ de recherche intelligent, suggère ala google.Erreur de syntaxe dans une requête SQL automatiquement formée
Je ne peux pas créer la requête directement, bien que je puisse voir quelle requête a été faite via les journaux.
J'ai posté la requête qui est envoyée, qui a une erreur de syntaxe mais je ne sais pas pourquoi.
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
Y at-il une erreur flagrante dans cette requête?
Faites-nous tous une faveur et mettez un peu d'espace dans votre pote. –
Jacob: Vous devez regarder en utilisant le texte intégral Recherche vos recherches de texte - plus rapide, et moins verbeux ... –
Je n'ai aucun contrôle sur la requête qui est générée, comme je travaille avec un cadre et il est automatiquement formé. – Jacob