Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Объединение записей   Найти похожие ветки 

 
ddd329   (2009-04-25 07:51) [0]

Как с помощью SQL можно объеденить записи(не поля) в одну? Допустим нам надо выбрать из таблицы хобби клиента, у данного клиента может быть несколько занятий и запрос вернет несколько записей. Можно ли сделать так чтобы запрос возвращал одну запись в которой через запитую будут перечисленны его хобби???


 
Гарик   (2009-04-25 09:20) [1]

Назовите СУБД. Наверное, во всех СУБД такая операция легко проделывается с помощью хранимых процедур. В Oracle можно использовать хранимые функции. Или надо применять только "чистый" SQL?


 
Виталий Панасенко(дом)   (2009-04-25 10:29) [2]

select f1,(select hobby from )||","||(select hobby from) from если движек(сервер) потянет такой синтаксис


 
PEAKTOP ©   (2009-04-25 11:45) [3]

СУБД уточни ?
В Firebird можно так:

SELECT LIST(H.NAME, ", ")
FROM   CLIENT_HOBBIES H
WHERE (H.CLIENT_ID = 12345)


 
DDD329   (2009-04-26 16:29) [4]

СУБД Access, был бы Oracle на PL/SQL состряпал бы быстренько.


 
clickmaker ©   (2009-04-27 11:55) [5]

а в access есть курсоры?
и если в таблице есть уникальный id, то можно в цикле - while


 
MsGuns ©   (2009-04-28 11:06) [6]

В Акцесе прямым запросом - никак. Надо писать модуль.


 
clickmaker ©   (2009-04-29 14:21) [7]

set @MinHobby = ""
set @Hobbues = ""
while exists(select * from hobbies where Hobby > @MinHobby)
 set @MinHobby = (select min(Hobby) from hobbies where Hobby > @MinHobby)
 if @Hobbies <> "" @Hobbies = @Hobbies + ", "
 set @Hobbies = @Hobbies + @MinHobby
end



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
15-1263941080
Германн
2010-01-20 01:44
2010.08.27
Отладка программы


2-1270462109
Девушка
2010-04-05 14:08
2010.08.27
Вопрос про освобождение объектов в объекте


2-1274083814
Сид
2010-05-17 12:10
2010.08.27
TDBLookupComboBox для редактирования поля


2-1273656185
Чапаев
2010-05-12 13:23
2010.08.27
Принудительная перерисовка формы


2-1270013386
AlexeyIII
2010-03-31 09:29
2010.08.27
Автозапуск в реестре.