Sql server 如何在报表生成器3.0查询设计器中拆分字符串?
我创建了一个名为resource Projection的报告,并创建了3个参数:Sql server 如何在报表生成器3.0查询设计器中拆分字符串?,sql-server,sql-server-2008,reporting-services,dynamics-crm-4,Sql Server,Sql Server 2008,Reporting Services,Dynamics Crm 4,我创建了一个名为resource Projection的报告,并创建了3个参数: 技术技能:类型:文本,多选:真,空白值:真,默认值:数据库中的一行(大约15个值) 管理技能:类型:文本,多选:真,空白值:真,默认值:数据库中的一行(大约7个值) 角色:类型:文本,多选:真,空值:真,默认值:数据库中的一行(大约30个值) 我的问题是: SELECT O.CustomerIdName, TC.New_ResourcesIdName, TC.New_number, TC.N
SELECT O.CustomerIdName,
TC.New_ResourcesIdName,
TC.New_number,
TC.New_RoleIdName,
TC.New_Skill_value,
TC.New_mng_value,
TC.New_year,
convert(nvarchar(10),TC.New_StartDate,101) as New_StartDate,
convert(nvarchar(10),TC.New_EndDate,101) as New_EndDate
FROM New_resource as TC
INNER JOIN Opportunity as O ON
(TC.New_ResourcesId = O.OpportunityId)
WHERE TC.DeletionStateCode = '0'
and TC.New_ResourcesId is not null
and ((TC.New_Skill_value in (@TechnicalSkills))or (TC.New_mng_value in (@ManagementSkills)))
and TC.New_RoleIdName in (@Role)
但是New\u Skill\u value
和New\u mng\u value
包含如下分隔字符串:
New_Skill_value = "Android,Java,PHP,SQL".
New_mng_value = "Communication Skill, Decision Making Skill".
现在,当我运行此报告时,它只显示只包含一个New\u skill\u value
和New\u Mng\u value
的列
那么,我如何将这两个逗号分隔的字符串分隔开,并用逗号分隔的字符串显示所有记录呢?正如您所说,您的新\u Skill\u值和新\u mng\u值是逗号分隔的,您传递的参数也是逗号分隔的 因此,只有当表值和传递的变量值之间存在精确匹配时,上面的查询才会起作用 我想这可能不会总是发生,因为您传递的变量可能包含相同的值集,但顺序不同,因此此查询可能不会返回任何内容 因此,我在这里建议,如果可能的话,您可以将表中所有逗号分隔的列拆分为单独的表,如id、values,然后与temp表连接以获得准确的结果 这里的临时表只是变量中的值