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




MySQL.RU - Webboard



Вернуться
where in не хавает условие (Егор) 23/04/2009 - 12:30:06
      Re: where in не хавает условие (walrus) 23/04/2009 - 16:47:30
      Re: where in не хавает условие (Егор) 24/04/2009 - 06:14:42
      Re: where in не хавает условие (walrus) 24/04/2009 - 13:02:58

> Original message text:
> From: Егор - 23/04/2009 - 12:30:06
> Subject:where in не хавает условие
> -----------------
> select concat('(\'', REPLACE(k.kit_parts, ';', '\',\''), '\')') as be,
> (select GROUP_CONCAT(p.title) from part p where p.id in (be) group by k.kit_id) from kit k
>
> kit
> kit_parts
> ----------
> 1;2;3
>
> part
> id title
> --------------
> 1 test1
> 2 test2
> 3 test3
>
> при выполнении выдаёт, что
>
> be
> ---------
> ('1','2','3')
>
> но результат выполнения подзапроса всё равно NULL, хотя если в подзапросе написать вместо (be) ('1','2','3') - то нормально хавает. Как принудить схавать запрос?
>


From: Егор - 24/04/2009 - 06:14:42
Subject:where in не хавает условие
-----------------
>вы передаете в сабселект в in совсем не список значений. А одно значение - строку, которая содержит скобки и все значения через запятую.

>Соответсвенно с этой строкой и сравнивается p.id. И если у вас в p нет записи, где p.id = "('1','2','3')" то и результат подзапроса NULL

А обойти никак нельзя это? я уже всякие комбинации кавычек и скобок перепробовал, не получается. Сложность ещё в том, что в kit_parts теоретически может быть неограниченное количество значений через ';'.


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

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

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



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