我应该如何使用SQL Server中的查询(如Oracle中的“select name from dual”)获取虚拟列?
我正在使用SQL Server Reporting Services 2008 R2。 我设计了一个报表,它以StartDate、EndDate、PayType作为参数值来运行报表数据集1。 这些参数值是从另一个数据集查询传递的。 所以我编写了另一个查询作为dataset2我应该如何使用SQL Server中的查询(如Oracle中的“select name from dual”)获取虚拟列?,sql,sql-server,reporting-services,ssrs-2008,Sql,Sql Server,Reporting Services,Ssrs 2008,我正在使用SQL Server Reporting Services 2008 R2。 我设计了一个报表,它以StartDate、EndDate、PayType作为参数值来运行报表数据集1。 这些参数值是从另一个数据集查询传递的。 所以我编写了另一个查询作为dataset2 SELECT DISTINCT bb_propdt AS [Start Date], bb_propdt AS [End Date], CASE WHEN bbprop.bb_paytype = '1' THEN 'P
SELECT DISTINCT
bb_propdt AS [Start Date],
bb_propdt AS [End Date],
CASE
WHEN bbprop.bb_paytype = '1' THEN 'PDC'
WHEN bbprop.bb_paytype = '2' THEN 'NoPDC'
WHEN bbprop.bb_paytype = '3' THEN 'ECS'
ELSE 'NA'
END AS [Pay Type]
FROM
bbprop
问题是,它向我展示了所有不同的日期,到目前为止还不错。
但它也向我展示了不同的薪酬类型。
所以在一个参数下拉列表中,我得到了PDC,NoPDC,ECS的数量。
我只想要3个值,PDC,NoPDC,ECS。
我可以使用另一个数据集来解决这个问题,但我不想要更多的数据集。
我一直在寻找
select PDC, NoPDC, ECS from dual;
在SQL Server中。但是没有这样的事情
下面的图片将帮助您轻松解决问题
这是给我看的日期,没问题
但这里我只需要三个值,如PDC、NoPDC、ECS。使用此查询填充数据集:
select PayType = 'PDC'
union all
select PayType = 'NoPDC'
union all
select PayType = 'ECS'
设置参数可用值时,将其指向此数据集,以显示值和标签
如果查询/数据集是一组已知值,也可以使用该查询/数据集执行此操作,定义参数时只需使用可用值->指定值选项:
您不需要对此进行单独查询吗?是的,我可以再使用一个数据集,但我不需要。所以我只需要任何查询,比如从dual中选择PDC、NoPDC、ECS。或在现有查询中进行任何其他修改(如果可能)。请尝试以下操作:选择PDC UNION选择NoPDC UNION选择ECS。你不需要双重身份。把工会分开,它不起作用。我试过这个。我也尝试过使用子查询来获取不同的值,但是子查询返回的值不止一个。显然,您不能在一个查询中完成,您的数据集中必须有两个结果集,或者在获取结果后在客户端执行一些操作,在绑定combobox以获得不同的支付类型并绑定第二个combo之前。是的,它可以工作。不错。我在找那张假桌子。谢谢。很酷,很高兴能帮上忙。。。我想到了另一个可能适用的选项-添加了更多细节。是的。我也这么做了。使用具有适当值的所需标签。