将SSRS变量动态更改为事实表ID

时间:2013-11-12 14:58:42

标签: sql visual-studio reporting-services

我有两个表...一个有Identifer最终用户需要输入SSRS报告变量但是,这个标识符交叉引用和ID对用户没有任何意义,我将需要使用该ID查询用户需要在报告中查看的信息。

表格如下...... SampleID是年,月,日和序号的串联... Order_TestID只是序号

 Table: LIS_Results
 SampleID       |     Order_TestID
 1311120001            1234

用户将SampleID输入到SSRS报告的变量中,因为它是工作流中常用的数字...但Order_TestID是将上表链接到下表的内容最终输出用户需要查看的信息。

 Table: LIS_Results_Log
 Order_TestID     |   Other columns I want to report
   1234                 various column I want to output in the SSRS report

因此,用户将在SSRS报告中输入1311120001,如何将SampleIDOrder_TestID表进行比较,以便我可以使用它来查询LIS_Results_Log表,并且有可能将其转换回来吗?

我已经在这两个表上尝试了JOIN,因此用户可以使用示例ID,但是当我只收到50或60(抱歉不记得确切数字)时,我会收到744条记录。我试着做一个简单的

SELECT * 
FROM LIS_Results lr, LIS_Results_Log lrl 
WHERE lr.Order_TestID = lrl.Order_TestID 

但我获得了744行的相同输出。

我需要弄清楚如何将SampleID转换为Order_TestID以查询LIS_Results_Log表,或者可能弄清楚如何报告两个表以确保所有唯一行输出的Order_TestID为1234而不是744行。

任何想法都将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那应该是:

SELECT * --I don't recommend using a * by the way. Expand the column names if possible
FROM LIS_Results R
INNER JOIN LIS_Results_Log L ON L.Order_TestID = R.Order_TestID
WHERE R.SampleID = 1311120001