Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Склеивание нужных дат / 5 сообщений из 5, страница 1 из 1
14.11.2019, 07:18
    #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
14.11.2019, 07:25
    #39888884
VicSO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склеивание нужных дат
Nastya66900,

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

не получается добавить правильно условие
...
Рейтинг: 0 / 0
14.11.2019, 07:41
    #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
14.11.2019, 07:54
    #39888890
Nastya66900
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Склеивание нужных дат
VicSO,

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


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