Есть ли способ превратить результаты оператора SELECT, FROM, GROUPBY в новую таблицу? - PullRequest
1 голос
/ 27 июня 2019

В основном мне нужно поместить несколько таблиц из SQL в Excel, чтобы проанализировать их с помощью сторонней программы.Однако при использовании Excel столбцы даты сводной таблицы имеют определенный формат (d мм), и для сторонней программы он не будет принят.

Однако в SQL, где я произвел некоторые агрегации необработанных данных, формат, который я использовал для оператора агрегации, является абсолютно правильным, и я хотел бы превратить эти результаты в отдельную таблицу, чтобы я могподайте его во внешнюю программу.У меня будет пример того, что я имею в виду ниже.

Это итоговое представление о том, как выглядит оператор агрегирования SQL для данных.

    Time             TADCount            TenantId
2019-11-22 00:00:00.000 1   4754F795-2FB9-4647-B28F-2CF2412F0BA2
2019-11-29 00:00:00.000 1   4754F795-2FB9-4647-B28F-2CF2412F0BA2
2019-11-30 00:00:00.000 1   4754F795-2FB9-4647-B28F-2CF2412F0BA2
2019-12-07 00:00:00.000 11  4754F795-2FB9-4647-B28F-2CF2412F0BA2
2019-12-08 00:00:00.000 2   4754F795-2FB9-4647-B28F-2CF2412F0BA2
2019-11-23 00:00:00.000 1   FD85A7E0-BDF5-4A6E-9B69-34AF1A518CB0
2019-11-27 00:00:00.000 1   FD85A7E0-BDF5-4A6E-9B69-34AF1A518CB0
2019-11-28 00:00:00.000 1   FD85A7E0-BDF5-4A6E-9B69-34AF1A518CB0
2019-12-02 00:00:00.000 1   FD85A7E0-BDF5-4A6E-9B69-34AF1A518CB0
2019-12-04 00:00:00.000 1   FD85A7E0-BDF5-4A6E-9B69-34AF1A518CB0
2019-12-06 00:00:00.000 3   FD85A7E0-BDF5-4A6E-9B69-34AF1A518CB0
2019-11-24 00:00:00.000 1   1CB49648-420B-454A-B39D-4DAB361C18B8
2019-11-24 00:00:00.000 5   0E84F35A-D7C1-4BDE-B805-6C7691B9667F
2019-11-26 00:00:00.000 1   0E84F35A-D7C1-4BDE-B805-6C7691B9667F
2019-12-05 00:00:00.000 1   0E84F35A-D7C1-4BDE-B805-6C7691B9667F
2019-12-07 00:00:00.000 2   0E84F35A-D7C1-4BDE-B805-6C7691B9667F

Для справки: это оператор агрегации, который я сделал.

SELECT DATEADD(DAY, DATEDIFF(DAY, 0, [Time]), 0) AS Time
  , Count([TenantId]) AS TADCount,
  [TenantId]
FROM [dbo].[acms_data] 
GROUP by DATEADD(DAY, DATEDIFF(DAY, 0, [Time]), 0),[TenantId]

По сути, я хотел бы превратить это представление над оператором кода в таблицу с такими же значениями.и заголовки в отдельной таблице, с которой можно взаимодействовать.

1 Ответ

0 голосов
/ 27 июня 2019

SELECT INTO - это то, что вы хотите использовать здесь.Предполагая, что у вас есть разрешения на создание новой таблицы, выполните следующие шаги:

  1. Создайте таблицу, в которую вы хотите вставить данные, в
  2. Преобразуйте запрос SELECT в SELECT INTO query.

Вот пример от W3 Schools, который я модифицировал для вашего варианта использования, который должен работать.Главное, чтобы new_table уже был создан, затем измените ваш запрос select, добавив INTO:

SELECT DATEADD(DAY, DATEDIFF(DAY, 0, [Time]), 0) AS Time
  , Count([TenantId]) AS TADCount,
  [TenantId]
INTO [dbo].[new_table]
FROM [dbo].[acms_data] 
GROUP by DATEADD(DAY, DATEDIFF(DAY, 0, [Time]), 0),[TenantId]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...