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

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

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

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

но это будет работать если нет order by
...
Рейтинг: 0 / 0
Результат SELECT как одна строка?
    #32004093
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И c Order by будет. По крайней мере у меня вариант аналогичный предложенному Victor прекрасно работает.
...
Рейтинг: 0 / 0
Результат SELECT как одна строка?
    #32004094
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вернее даже не вариант Victor'а, а Ваш, SergSuper, вариант.
...
Рейтинг: 0 / 0
Результат SELECT как одна строка?
    #32004277
Юрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как насчет такой 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
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результат SELECT как одна строка?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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