Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результат SELECT как одна строка? / 7 сообщений из 7, страница 1 из 1
09.04.2001, 15:55
    #32004080
ToliK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SELECT как одна строка?
Можно ли, и если можно то как получить результат SQL запроса не как набор строк результата, а как одна строка - один элемент (желательно varchar).

SELECT ID, A FROM TableA
...
Рейтинг: 0 / 0
09.04.2001, 16:23
    #32004084
Vladimir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SELECT как одна строка?
Можно и так:

Создать временную таблицу,
накачать ее результирующим набором,
организовать курсор по этой временной таблице, в котором формировать желаемую длинную строку
...
Рейтинг: 0 / 0
09.04.2001, 16:25
    #32004085
Victor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SELECT как одна строка?
Так что-ли?
SELECT Convert(varchar(10),id)+' '+convert(varchar(10),A)
from TableA.
...
Рейтинг: 0 / 0
09.04.2001, 16:32
    #32004087
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SELECT как одна строка?
попробуйте так:

declare @a varchar(999)
set @a=''
SELECT @a=@a+A FROM TableA

но это будет работать если нет order by
...
Рейтинг: 0 / 0
09.04.2001, 17:47
    #32004093
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SELECT как одна строка?
И c Order by будет. По крайней мере у меня вариант аналогичный предложенному Victor прекрасно работает.
...
Рейтинг: 0 / 0
09.04.2001, 17:51
    #32004094
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SELECT как одна строка?
Вернее даже не вариант Victor'а, а Ваш, SergSuper, вариант.
...
Рейтинг: 0 / 0
12.04.2001, 23:16
    #32004277
Юрий
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Результат SELECT как одна строка?
Как насчет такой SP или функции (если SQL 2000)? Возвращает результат в одну строчку....

CREATE PROC sp_GetStreets @fname varchar(50)
AS
DECLARE @streets varchar(8000), @ctr int
SET @streets = ''
SET @ctr = 0
SELECT @ctr = @ctr + 1, @Streets = Coalesce(@Streets,'') + (CASE WHEN @ctr = 1 THEN '' ELSE ';' END) +
LTrim(Address1) FROM tblEmpEmployee WHERE LastName = @fname

SELECT @Streets

Функция:

CREATE FUNCTION f_GetStreet (@fname varchar(50))
RETURNS varchar(8000)
AS
BEGIN
DECLARE @Streets varchar(8000), @ctr int
SET @streets = ''
SET @ctr = 0
SELECT @ctr = @ctr + 1, @Streets = Coalesce(@Streets,'') + (CASE WHEN @ctr = 1 THEN '' ELSE ';' END) +
LTrim(Address1) FROM tblEmployee WHERE LastName = @fname
RETURN(@Streets)
END

После этого - простой селект
SELECT f_GetStreet(LastName ) FROM tblEmployee WHERE LastName = 'Петров'

М.б. длинно, но зато эффективно...
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результат SELECT как одна строка? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]