Я хотел бы знать, как выбрать параметр на основе набора результатов из хранимой процедуры.
Мой код выглядит примерно так:
CREATE PROCEDURE usp_UserInformation (@ReportRunDate DATE = NULL)
AS
WITH CTE AS (
SELECT -- some fields
FROM Table1 INNER JOIN Table2 ON Table1.ID = Table2.ID
WHERE RegisteredDate = DATEADD(MONTH, DATEDIFF(MONTH, -1, @ReportRunDate) - 2, -1)
--I'll output the result set after applying all the logic like
SELECT UserID, UserName, DOJ
FROM CTE
Теперь, когда пользователь выбирает дату в отчете, я создал еще один параметр и пытаюсь получить записи из «Доступных значений», используя «Получить значения из запроса». Я хотел бы показать список идентификаторов пользователей из приведенного выше набора результатов запроса и разрешить пользователю SELECT на основе этого.
ОБНОВЛЕНИЕ: я создал еще одну хранимую процедуру, так как другой альтернативы нет. Теперь мой вопрос: как передать второе значение хранимой процедуры первому в предложении WHERE?
CREATE PROCEDURE usp_UserInformation (@ReportRunDate DATE = NULL)
AS
WITH CTE AS (
SELECT -- some fields
FROM Table1 INNER JOIN Table2 ON Table1.ID = Table2.ID
WHERE RegisteredDate = DATEADD(MONTH, DATEDIFF(MONTH, -1, @ReportRunDate) - 2, -1)
--I'll output the result set after applying all the logic like
SELECT User_ID, UserName, DOJ
FROM CTE
WHERE User_ID = EXEC usp_Get_UserID
Я ищу что-то подобное, где пользователь может сначала выбрать идентификатор и любую дату по своему выбору в отчете.
PS: мне не разрешено писать встроенный SQL, разрешены только SP. Я не хочу создавать два SP для одного и того же отчета.