Sql server 2008 使用多个Varchar作为参数
我正在尝试创建一个查询,允许我在SSRS中使用多个varchar作为参数 代码如下:Sql server 2008 使用多个Varchar作为参数,sql-server-2008,parameters,ssrs-2008-r2,Sql Server 2008,Parameters,Ssrs 2008 R2,我正在尝试创建一个查询,允许我在SSRS中使用多个varchar作为参数 代码如下: Declare @CallCodes as VarChar(10) Set @CallCodes = ('MORC30' , 'Morc60') ; With Data AS (SELECT VC.[CallCode] ,VC.[HospCode] ,VC.[HospMastID] ,VC.[ClientID]
Declare @CallCodes as VarChar(10)
Set @CallCodes = ('MORC30' , 'Morc60')
;
With Data
AS
(SELECT
VC.[CallCode]
,VC.[HospCode]
,VC.[HospMastID]
,VC.[ClientID]
,Row_Number () Over (Partition By HospMastID, VC.ClientID Order By HospMastID, VC.ClientID, GLCode) as Txn
FROM
[RptSys].[dbo].[CSC_VuesionImport_DevDetl] as VC
Inner Join
[AVimark_OLTP].[dbo].[Client] as C
on
VC.HospMastID = C.HospitalMasterID
and
VC.ClientID = C.ClientID
Inner Join
[Avimark_OLTP].[dbo].[Patient] as P
on
VC.HospMastID = P.HospitalMasterID
and
VC.PatientID = P.PatientID
Inner Join
[Avimark_OLTP].[dbo].[Treatment] as T
on
VC.HospMastID = T.HospitalMasterID
and
VC.MastReminder = T.Code
Where
VC.CallCode in @CallCodes)
当我尝试运行它时,这会给出一个错误。最后的输出是允许最终用户从SSRS报告中的下拉列表中进行选择。我已经尝试了where语句的in或like的所有变体
如果您有任何建议,我们将不胜感激。您为什么不把帕尔玛人带到标有# 我希望这就是你要找的,如果不是请告诉我。或者像评论中提到的那样给出错误消息 祝你有一个美好的一天&来自瑞士的问候
艾蒂安什么错误?我们既看不懂你的屏幕,也看不懂你的思想——你必须告诉我们!Marc,根据我是使用like还是in,错误会有所不同。我在set语句或like语句中出现无效语法错误。Etienne,参数是我希望最终用户选择的,因此我无法在表中完全形式化它。这是报告的一部分,他们从代码列表中进行选择。哦,我明白了,所以你有一个SSRS参数,用户可以在打开报告时设置它?您是否可以从这个列表中选择一个以上的值?是的,这就是目标。它可以很好地处理整数参数,只是似乎无法处理NVARCHAR参数。梅比:这对你有帮助
CREATE TABLE #tmp(
Callcodes varchar(10))
INSERT INTO #tmp
VALUES
('MORC30'),
('Morc60')
With Data
AS
(SELECT
VC.[CallCode]
,VC.[HospCode]
,VC.[HospMastID]
,VC.[ClientID]
,Row_Number () Over (Partition By HospMastID, VC.ClientID Order By HospMastID, VC.ClientID, GLCode) as Txn
FROM
[RptSys].[dbo].[CSC_VuesionImport_DevDetl] as VC
Inner Join
[AVimark_OLTP].[dbo].[Client] as C
on
VC.HospMastID = C.HospitalMasterID
and
VC.ClientID = C.ClientID
Inner Join
[Avimark_OLTP].[dbo].[Patient] as P
on
VC.HospMastID = P.HospitalMasterID
and
VC.PatientID = P.PatientID
Inner Join
[Avimark_OLTP].[dbo].[Treatment] as T
on
VC.HospMastID = T.HospitalMasterID
and
VC.MastReminder = T.Code
Where
VC.CallCode in (SELECT * FROM #tmp))