Очень просто, но все же сложно, просто хочу добавить параметр в SSRS с данными Dynami c - PullRequest
0 голосов
/ 04 мая 2020

Я создаю отчет о SSR, я просто взял 2 параметра, один из которых - зарплата и другие >, < или = операторы, но это динамические c, которые пользователь выбирает в выпадающем списке этого сравнения должна появиться опция.

Мой код в отчете SSR выглядит следующим образом:

DECLARE  @PARAM VARCHAR(10)
DECLARE @sqlcommand varchar(1000)

-- DECLARE @salary varchar(1000)
-- SET @salary='40000'

SET @PARAM='<'

SET @sqlcommand = 'SELECT A.EmpID, A.FirstName, A.LastName, C.Address, C.City, C.PostalCode, C.Country, C.Region, B.Salary FROM ((Employee A INNER JOIN Salary B ON A.EmpID = B.EmpID) INNER JOIN  Address C ON A.EmpID = C.EmpID) WHERE  B.salary ' + @PARAM + ''+ CONVERT(INT, CONVERT(VARCHAR(12), @Salary))

PRINT @sqlcommand

EXEC (@sqlcommand)

Так что для меня одна зарплата - это параметр, а другой оператор сравнения, когда я запускаю, я получаю эту ошибку:

Microsoft Report Builder

Произошла ошибка при выполнении запроса.

Ошибка преобразования при преобразовании значения varchar 'Выберите A.EmpID, A.FirstName, A.LastName, C .Address, C .City, C .PostalCode, C .Country, C .Region, B.Salary FROM ((Сотрудник A INNER JOIN Зарплата B ON A.EmpID = B.EmpID) INNER JOIN Адрес C ON A.EmpID = C .EmpID) где B.salary <'для типа данных int. </p>

Не могли бы вы помочь? Я знаю, что это просто, но я изо всех сил пытаюсь объединить, так как не повезло.

1 Ответ

1 голос
/ 04 мая 2020

Вам просто нужно CONVERT ваша зарплата до VARCHAR, а не INT, попробуйте;

    Use MytestDB

DECLARE  @PARAM VARCHAR(10)

DECLARE @sqlcommand varchar(1000)

declare @salary varchar(1000)

set @salary='40000'

SET @PARAM='<'

SET @sqlcommand='Select A.EmpID, A.FirstName, A.LastName, C.Address, C.City, C.PostalCode, C.Country, C.Region, B.Salary FROM ((Employee A INNER JOIN Salary B ON A.EmpID = B.EmpID) INNER JOIN  Address C ON A.EmpID = C.EmpID) WHERE  B.salary ' + @PARAM + CONVERT(VARCHAR(12), @Salary)

SELECT @sqlcommand
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...