-
Как с помощью SQL можно объеденить записи(не поля) в одну? Допустим нам надо выбрать из таблицы хобби клиента, у данного клиента может быть несколько занятий и запрос вернет несколько записей. Можно ли сделать так чтобы запрос возвращал одну запись в которой через запитую будут перечисленны его хобби???
-
Назовите СУБД. Наверное, во всех СУБД такая операция легко проделывается с помощью хранимых процедур. В Oracle можно использовать хранимые функции. Или надо применять только "чистый" SQL?
-
select f1,(select hobby from )||','||(select hobby from) from если движек(сервер) потянет такой синтаксис
-
СУБД уточни ? В Firebird можно так:
SELECT LIST(H.NAME, ', ')
FROM CLIENT_HOBBIES H
WHERE (H.CLIENT_ID = 12345)
-
СУБД Access, был бы Oracle на PL/SQL состряпал бы быстренько.
-
а в access есть курсоры? и если в таблице есть уникальный id, то можно в цикле - while
-
В Акцесе прямым запросом - никак. Надо писать модуль.
-
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
|