Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
GROUP_CONCAT (AXAE) 27/03/2007 - 10:16:09
      Re: GROUP_CONCAT (AXAE) 27/03/2007 - 12:40:26
      Re: GROUP_CONCAT (Валерий) 19/04/2007 - 10:13:29
      Re: GROUP_CONCAT (group_concat_max_len) 26/06/2007 - 16:31:03



From: AXAE - 27/03/2007 - 10:16:09
Subject:GROUP_CONCAT
-----------------
Какие ограничения накладываются на работу GROUP_CONCAT?
Этот запрос работает:
SELECT CONCAT_WS('\r',`_profiles`.name,GROUP_CONCAT(DISTINCT CONCAT_WS('\t',
CONCAT(Fam, ' ', LEFT(humans.`Name`,1), '. ', LEFT(LastName,1),'.'), DateBirth, `scards`.Profession)
SEPARATOR '\r')) as LIST_DISPANCE
FROM `scards` INNER JOIN humans ON scards.`idHuman`=humans.id
INNER JOIN `list_profiles_on_scard` ON scards.id=`list_profiles_on_scard`.`idScard`
INNER JOIN `_profiles` ON `list_profiles_on_scard`.`idProfile`=_profiles.`id`
WHERE scards.idPMO=9 AND `_profiles`.`tip`='RISK'
GROUP BY `_profiles`.name

Выдает три строки с таким полем (в квадратных скобках - это символы, уже присутствующие в результирующей строке - символы возврата каретки):
Первая строка:
Profile.name1 [return]
FIO1 [tab] DateBirth[return]
FIO2 [tab] DateBirth[return]

Вторая:
Profile.name2[return]
FIO2 [tab] DateBirth[return]

Третья:
Profile.name3[return]
FIO3 [tab] DateBirth[return]

То есть это в строках уже такие группы фамилий с заголовком.
Но если я повторно пытаюсь сделать одну строку из этих трех (чтобы можно было ее как есть вставить в текстовый файл) с разделителем '\r':
SELECT GROUP_CONCAT(CONCAT_WS('\r',`_profiles`.name,GROUP_CONCAT(DISTINCT CONCAT_WS('\t',
CONCAT(Fam, ' ', LEFT(humans.`Name`,1), '. ', LEFT(LastName,1),'.'), DateBirth, `scards`.Profession)
SEPARATOR '\r')) SEPARATOR '\r') as LIST_DISPANCE
FROM `scards` INNER JOIN humans ON scards.`idHuman`=humans.id
INNER JOIN `list_profiles_on_scard` ON scards.id=`list_profiles_on_scard`.`idScard`
INNER JOIN `_profiles` ON `list_profiles_on_scard`.`idProfile`=_profiles.`id`
WHERE scards.idPMO=9 AND `_profiles`.`tip`='RISK'
GROUP BY `_profiles`.name

он говорит "Invalid use of group function". Есть ли какое-нибудь решение? Чтобы объединить три строки из работающего первого запроса в одну с разделителем возврата каретки?



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
31732



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |