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




MySQL.RU - Webboard



Вернуться
Некорректная работа GROUP_CONCAT? (Александр) 22/09/2006 - 14:41:01
      Re: Некорректная работа GROUP_CONCAT? (Александр) 22/09/2006 - 14:56:23
      Re: Некорректная работа GROUP_CONCAT? (Алексей) 22/06/2007 - 16:47:49

> Original message text:
> From: Александр - 22/09/2006 - 14:41:01
> Subject:Некорректная работа GROUP_CONCAT?
> -----------------
> Всем доброго дня.
> Есть табличка (данные есть и другие):
> id | value
> 36 | ""
> 34 | ""
>
> При запросе
> SELECT id, GROUP_CONCAT( DISTINCT value SEPARATOR ', ' )
> FROM table
> WHERE id =36
> GROUP BY id
>
> Получается:
> 36 ", "
>
> Т.е. при пустых значениях value все равно группируется.
> При этом интересно, что если присвоить полю value какое-либо значение (вплоть до nbsp), такой ошибки не возникает.
>
> Есть ли какие-либо способы обойти подобное?
>
> Перечитал почти все темы на форуме, в документации здесь и на mysql.org ответа на подобный вопрос не нашел.
>
> Заранее спасибо за помощь.
>


From: Алексей - 22/06/2007 - 16:47:49
Subject:Некорректная работа GROUP_CONCAT?
-----------------
Здравствуйте, помогите разобраться, не могу нормально написать запрос с GROUP_CONCAT

есть две таблицы

reports
n|name|type
1|'nam1'|'1,2,3'
2|'nam2'|'0'

и

type
n|name
1|'name1'
2|'name2'
3|'name3'

SELECT reports.name,reports.n,
GROUP_CONCAT( type.name ) AS type
FROM reports
LEFT JOIN type ON type.n IN (reports.type)
WHERE 1 GROUP BY reports.n

запрос выводит в type имя только первого type.name, а если на прямую написать:

SELECT reports.name,reports.n,
GROUP_CONCAT( type.name ) AS type
FROM reports
LEFT JOIN type ON type.n IN (1,2,3)
WHERE 1 GROUP BY reports.n

, то выводит все type.name.

Помогите пожалуйста


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

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

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



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