Таблица вовлечена
Я хотел бы создать набор данных с параметром datetime, когда пользователь выбирает дату, он автоматически выбирает данные из таблицы дат, как на картинке (имя динамической таблицы).
SP создан, как показано
Уже использую процедуру хранения методов, но потом у меня возникли проблемы при объединении SP с другой таблицей. Можете предложить мне лучший способ решить эту проблему?
Я очень новичок на этом сайте, спасибо за руководство
Вы можете использовать табличные функции. вы можете присоединиться к TF с другим столом.
CREATE FUNCTION [dbo].[fn_test]
(
--INPUT PARAMETERS
)
RETURNS @output TABLE(ID NVARCHAR(MAX))
BEGIN
INSERT INTO @output (ID)
EXEC('SELECT 1 AS A')
RETURN
END
Сохранение каждого дня в отдельной таблице, вероятно, не лучший способ, но об этом позже, чтобы решить насущную проблему....
Вы можете сбросить результаты своего SP во временную таблицу и присоединиться к ней.
Я предположил, что ваша таблица SensorDataRainfall
(без даты) имеет ту же структуру, что и таблицы с датами.
Ваш запрос набора данных будет выглядеть следующим образом.
SELECT TOP 0 * INTO #SDR FROM dbo.SensorDataRainfall -- create an empty table to put the results in.
INSERT INTO #SDR EXEC spGetDataRainfall @year, @month -- dump data from the SP
SELECT *
FROM #SDR a
JOIN myOtherTable b on a.column = b.column
Однако есть несколько проблем с вашим общим подходом.
Наличие данных, которые по сути являются одними и теми же данными, разделенными по датам, не очень масштабируемо, даже если объем данных очень мал, это просто не лучший подход. Вам, вероятно, следует в первую очередь изучить процесс, который создает там таблицы, и вставить данные в таблицу, которая имеет ту же структуру, но также включает столбцы для года и месяца. Таким образом, все данные будут в одной таблице и могут быть легко запрошены за один месяц или за несколько месяцев, лет.
Спасибо! ваш ответ очень полезен, сэр. что касается разделения данных по месяцам, это связано с тем, что задействованные данные слишком велики. средние данные в месяц составляют около 500 тыс. строк и продолжаются. Но если у вас есть способы обработки этих обширных данных в одной таблице (основная цель — создание отчета ssrs), я с удовольствием последую вашим указаниям.
В соответствии с руководством по вопросам, пожалуйста, не публикуйте изображения кода, данных, сообщений об ошибках и т. д. - скопируйте или введите текст в вопрос. Пожалуйста, зарезервируйте использование изображений для диаграмм или демонстрации ошибок рендеринга, вещей, которые невозможно точно описать с помощью текста.