![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
Добрый день.
table: STR | INT ----------- q | 1 w | 2 e | 1 r | 1 t | 2 y | 1 Нужно выбрать значения поля STR, для которых I = const, но чтобы результат был не STR ----- rec1 ... recN , а STR ----- rec1 || ... || recN Например, для выбора STR where INT = 1, результат: STR ----- qery Возможно это? |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
oracle 6?
Это сообщение отредактировал(а) Zloxa - 12.2.2009, 11:28 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
В некоторых диалектах есть функции конкатенации строк для группы (скажем в mySQL это group_concat), в некоторых нет.
В тех, где этого нет, для получения такого результата возможно использование хранимых процедур. Опять-таки если оно есть. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
Для Оракла SYS_CONNECT_BY_PATH (Это кажется мне как раз Zloxa и подсказал когда то
![]() Это сообщение отредактировал(а) v2v - 12.2.2009, 11:33 |
|||
|
||||
Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
Угу :( Я, конечно, эту проблему уже средствами Делфи обошел... Но вопрос интересный, поэтому хочется услышать решение, не обязательно для 6-ки, а для любой удобной версии... Добавлено через 1 минуту и 9 секунд круто ![]() |
|||
|
||||
Zloxa |
|
||||||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
9i+ 1) Единственный честный способ - User-Defined Aggregate. Требует создания объектов схемы, что не всегда возможно. Реализация от кайта 2) не честный через sys_connect_by_path
3) нечестный вариант - через преобразование в XML (можно потерять лидирующие и завершающие пробелы)
10g 4) нечестный вариант - использовать недокументированную функцию wm_concat можно потерять запятые, нельзя указать порядок внутренней сортировки
Наверное есть еще способы ![]() Это сообщение отредактировал(а) Zloxa - 18.5.2010, 12:24 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
||||||
|
|||||||
Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 1 Всего: 15 |
Спасибо, Zloxa.
+1 за исчерпывающий ответ! Варианты для 9ки и XML для меня пока сложноваты... А для 10ки - понравился, запомню на будущее... |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |