powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результаты в одну строку
9 сообщений из 9, страница 1 из 1
Результаты в одну строку
    #39595497
ivandrova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Следующий запрос:
select date1, date2 from table1 where field = 555

выведет:
date1 date2
2018-01-01 2018-01-05
2018-01-06 2018-01-12

как вывести результат в одну строку типа такого
res
"2018-01-01 - 2018-01-05; 2018-01-06 - 2018-01-12"
...
Рейтинг: 0 / 0
Результаты в одну строку
    #39595498
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Результаты в одну строку
    #39595501
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKivandrova,

https://www.sqlshack.com/multiple-options-to-transposing-rows-into-columns/ Речь не про ПИВОТы, а про "колонку в одну строку".

Я делаю SQL ф-цию, кот. делает примерно так:

set @MyStr=''

select @MyStr = @MyStr + ';' + MyField
from .....

return @MyStr
...
Рейтинг: 0 / 0
Результаты в одну строку
    #39595504
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV,

мда...
авторпро "колонку в одну строку".
было 2 строки стала одна... дейстивтельно

авторЯ делаю SQL ф-цию, кот. делает примерно так:

set @MyStr=''

select @MyStr = @MyStr + ';' + MyField
как же это печально
...
Рейтинг: 0 / 0
Результаты в одну строку
    #39595513
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT DISTINCT t.field
,STUFF
 (
  (
   SELECT ';'+CONVERT(varchar(10),tt.date1,126)+' - '+CONVERT(varchar(10),tt.date2,126)
   FROM table1 ее
   WHERE tt.field=t.field
   ORDER BY tt.date1,tt.date2
   FOR XML PATH(''),TYPE
  ).value('.','varchar(100)')
  ,1,1,''
 ) [date]
FROM table1 t
ORDER BY t.field;




select date1, date2 from table1 where field = 555
...
Рейтинг: 0 / 0
Результаты в одну строку
    #39595515
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
WHERE t.field=555

можно ещё добавить
...
Рейтинг: 0 / 0
Результаты в одну строку
    #39595536
ivandrova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT DISTINCT t.field
,STUFF
 (
  (
   SELECT ';'+CONVERT(varchar(10),tt.date1,126)+' - '+CONVERT(varchar(10),tt.date2,126)
   FROM table1 ее
   WHERE tt.field=t.field
   ORDER BY tt.date1,tt.date2
   FOR XML PATH(''),TYPE
  ).value('.','varchar(100)')
  ,1,1,''
 ) [date]
FROM table1 t
ORDER BY t.field;




select date1, date2 from table1 where field = 555

Спасибо! Работает!
Если у вас есть время, то распишите пожалуйста что к чему.
...
Рейтинг: 0 / 0
Результаты в одну строку
    #39595557
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivandrova,
да, дай г..на. дай ложку.
...
Рейтинг: 0 / 0
Результаты в одну строку
    #39595560
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKкак же это печальноЧто именно, бро ?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Результаты в одну строку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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