【发布时间】:2019-03-29 06:51:03
【问题描述】:
当我尝试在 SSRS 的文本框中运行 select 语句时收到此错误。所以,基本上,我试图返回一个不在给定数据集中的字段。所以我运行了一个子查询,它使用现有数据集作为容器返回值。
但我不知道如何在 Expression 字段中表示该返回值。因为表达式字段返回的值在提供的数据集中。
我已经提供了我编写的 SQL。
任何建议将不胜感激。
我的意图是返回“CommentText”值。但是,数据集不包含任何 commenttext 字段,而是 EmpID 字段。所以我创建了下面的子查询,它从 LaborDtlComment 表中调出 CommentText,当它与报表数据集中的 EmpID 匹配时,它返回 CommentText 值。
select [CommentReturnQuery].[LaborDtlComment_CommentText] as [LaborDtlComment_CommentText],
[EmpBasic].[EmpID] as [EmpBasic_EmpID]
from Erp.EmpBasic as EmpBasic
inner join (select [LaborDtlComment].[CommentText] as [LaborDtlComment_CommentText],
[LaborDtl].[EmployeeNum] as [LaborDtl_EmployeeNum]
from Erp.LaborDtlComment as LaborDtlComment
inner join Erp.LaborDtl as LaborDtl on LaborDtlComment.Company = LaborDtl.Company
and LaborDtlComment.LaborHedSeq = LaborDtl.LaborHedSeq
and LaborDtlComment.LaborDtlSeq = LaborDtl.LaborDtlSeq) as CommentReturnQuery
on EmpBasic.EmpID = CommentReturnQuery.LaborDtl_EmployeeNum
我的目标是在文本字段中显示 CommentText 值。所以我将创建
文本字段,它将包含我编写的 SQL。谁能帮忙
我在这种情况下?
【问题讨论】:
-
您确定查询在 SSMS 中正常工作吗?您应该可以像往常一样简单地将
LaborDtlComment_CommentText添加到文本框中。我看到它失败的唯一方法是查询有问题。 -
嗨史蒂夫,查询运行完美。它返回我期望的结果。我已经在 Epicor 内置的 SQL 中运行了查询,称为 BAQ。但我需要在从 Epicor 作为 SSRS 导出的报告中使用此查询(数据集是固定的)。我只能使用导出报告中的数据集运行一些有限的查询。所以数据集是固定的。如果数据集中没有我需要在报告中显示的任何字段(自定义),那么我必须编写这种类型的查询以从另一个子查询中获取字段值并将其与现有数据集相关联以获取字段值。
-
更新:字段值现在没有显示任何错误。但是,它直接显示 SQL 查询而不是 SQL 返回的值。任何建议都非常感谢。我非常失望,因为我必须在这个星期一提交这份报告:(
-
好吧,如果你想在文本框中调用查询是不可能的。如果您可以提供一些示例数据和布局的一般概念,这可能会更容易。我真正能做的就是推测,无需更多细节。
-
嗨@Steve-o169,我在这里附上了3张报告的照片。
标签: reporting-services ssrs-2008