我在SSRS中有四个数据集。他们在下面-
PONum PODetail- Company,PONum,POLine PORel- Company,JobNum,POLine,PONum,ProjectID JobHead- Company,JobCOde,JobNum,PersonID,ProjectID
在POHeader中有一个文本字段(Project ),我想在其中显示person ID (项目领导名称)。但是,POHeader不包含任何PersonID字段。我认为这样做的一种方法是关联POHeader和PORel表,它们将匹配PONum并返回JobNum,返回的JobNUm将与JobHead.JobNum匹配。
如果它们匹配,然后返回PersonID,它将显示在POHeader中的文本字段(Project )中。
然而,我很少有SQL方面的经验。如果有人能在这方面帮我就太好了。
在这里,查找函数可以是一个解决方案,但是将一个返回值与一个不同数据的现有值进行比较对我来说似乎很困难。
更新SQL代码-
="SELECT
[PlannerID].[JobHead_PersonID] as [JobHead_PersonID]
from (select
[POHeader].[PONum] as [POHeader_PONum],
[JobHead].[PersonID] as [JobHead_PersonID],
[JobHead].[JobNum] as [JobHead_JobNum]
from Erp.POHeader as POHeader
inner join Erp.PODetail as PODetail on
POHeader.Company = PODetail.Company
and POHeader.PONum = PODetail.PONUM
inner join Erp.PORel as PORel on
PODetail.Company = PORel.Company
and PODetail.PONUM = PORel.PONum
and PODetail.POLine = PORel.POLine
inner join Erp.JobHead as JobHead on
PORel.Company = JobHead.Company
and PORel.JobNum = JobHead.JobNum) as PlannerID
right outer join Erp.POHeader as POHeader1 on
POHeader1.PONum = PlannerID.POHeader_PONum
POHeader.Company = PODetail.Company
and POHeader.PONum = PODetail.PONUM
inner join Erp.PORel as PORel on
PODetail.Company = PORel.Company
and PODetail.PONUM = PORel.PONum
and PODetail.POLine = PORel.POLine
inner join Erp.JobHead as JobHead on
PORel.Company = JobHead.Company
and PORel.JobNum = JobHead.JobNum) as PlannerID
right outer join Erp.POHeader as POHeader1 on
POHeader1.PONum = PlannerID.POHeader_PONum"我编写的返回PersonID的SQL代码,但我需要知道两件事-
如果我能得到一些建议,我会很感激的。谢谢
发布于 2019-03-28 02:41:14
SSRS使用数据集从数据库获取数据,数据集中的每个字段都可以显示在报表上。若要将字段添加到dataset,必须由基础数据集查询返回该字段。查看数据集属性并查看查询。如果它的形式是“从表中选择a,b,c”,将您想要的字段添加到列列表(a、b、c等)。如果是存储过程,请找到可以编辑该过程的人,以包括您缺少的字段。完成此操作后,刷新数据集的字段列表。您的新字段现在应该可以在报告中使用。当然,如果您已经破坏了数据集的sql,则需要找到了解基础数据库的人来帮助您。
https://stackoverflow.com/questions/55389301
复制相似问题