2010-07-05 5 views
6

Я пытаюсь использовать CONCAT с SQL для конкатенации 3 поля, и получить следующее сообщение об ошибке:Как объединить более двух полей с SQL?

Неверные параметры в вызове собственной функции «CONCAT»

Запрос следующим

SELECT CONCAT(guests.lastname,', ',guests.firstname', ',guests.passport) AS display 
    FROM guests 
WHERE guests.uuid = '1' 

Как вы связываете более двух полей в SQL?

ответ

20

Вы должны поместить запятые между всеми аргументами.

Изменение:

SELECT CONCAT(guests.lastname,', ',guests.firstname', ',guests.passport) 

к:

SELECT CONCAT(guests.lastname,', ',guests.firstname,', ',guests.passport) 
                ^
+0

+1: Вы были первые –

+0

я обнаружил, что доктрина принимает только два аргумента для своей функции CONCAT. http://www.doctrine-project.org/jira/browse/DDC-670 Не простая синтаксическая ошибка в моем случае. Работать вокруг, выражая это, как: 'CONCAT (a, CONCAT (b, CONCAT (c, d)))' – ficuscr

0
SELECT CONCAT(guests.lastname,concat(', ',concat(guests.firstname,concat(', ',guests.passport)))); 
Смежные вопросы