powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Склеивание нужных дат
5 сообщений из 5, страница 1 из 1
Склеивание нужных дат
    #39888882
Nastya66900
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно что бы даты склеивались
моя цель такова даты в которых использовалось число должны вывестись тобишь
"Днс 1" дата когда этот днс был днс 1 2019-11-16 он использовался а если 2019-11-17 он тоже использовался нудно вывести это так
Днс1 2019-11-16.2019-11-17
вот запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 with t as 
  (
  select s.dns_name as dns, s.data as dat from dbo.srav as s
  ) 
  select t.dns as dns, count(t.dns) as count_dns, 
  Chars = STUFF(CAST((
  SELECT [text()] = ', ' + convert(varchar(200),t.dat) 
  FROM t
  group by t.dat
  for xml path(''), Type )as varchar(200) ),1,2,'')
  from t
   group by t.dns



но он склеивает все даты которые есть.подскажите как сделать даты в которых используется днс

Есть таблица srav, столбцы: ДНС, дата. В одну дату не может быть повторяющихся днс, в разные - могут.
Задача: Выполить подсчет количества днс по датам, и выполнить конкатенацию дат по днс. Т.к. у меня sql server 2012 я не могу использовать функцию string_agg.
...
Рейтинг: 0 / 0
Склеивание нужных дат
    #39888884
VicSO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nastya66900,

У тебя нету ограничения на ДНС твой, ты склеиваешь все даты. нужно добавить условие.
...
Рейтинг: 0 / 0
Склеивание нужных дат
    #39888885
Nastya66900
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VicSO,

не получается добавить правильно условие
...
Рейтинг: 0 / 0
Склеивание нужных дат
    #39888888
VicSO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nastya66900,

Следующий раз пиши пример нормальный, а то тут ругать будут.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
WITH
   t
   AS
      (SELECT '01' AS dns, 1 AS dat
       UNION ALL
       SELECT '01' AS dns, 2 AS dat
       UNION ALL
       SELECT '02' AS dns, 10 AS dat
       UNION ALL
       SELECT '02' AS dns, 11 AS dat
       UNION ALL
       SELECT '02' AS dns, 12 AS dat)
SELECT t.dns AS dns,
       count (t.dns) AS count_dns,
       Chars = STUFF (CAST
                      (
                         (SELECT [text()] =
                                    ', ' + CONVERT (VARCHAR (200), t1.dat)
                          FROM t t1
                          where t.dns = t1.dns
                          GROUP BY t1.dat
                          FOR XML PATH(''), TYPE) AS VARCHAR (200)),
                      1,
                      2,
                      '')
FROM t
GROUP BY t.dns


...
Рейтинг: 0 / 0
Склеивание нужных дат
    #39888890
Nastya66900
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VicSO,

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


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