Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.045 c
2-1273729075
tippa
2010-05-13 09:37
2010.08.27
грабер емайл


15-1265963056
Jeer
2010-02-12 11:24
2010.08.27
Виртуальный поезд


9-1187036732
Mr.Vlad
2007-08-14 00:25
2010.08.27
GLODEManager


15-1269520791
Sergey13
2010-03-25 15:39
2010.08.27
Lazarus &amp; FireBird


15-1268978113
oldman
2010-03-19 08:55
2010.08.27
Драйвер для Xerox Phaser 3117 под МЕ




   Наверх