Форум: "Базы";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизОбъединение записей Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.059 c