







|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
31706
|
|