【发布时间】:2015-03-07 22:34:26
【问题描述】:
我正在做一份临时报告。用户将能够从数据库中选择一个表,然后选择他们想要显示的列。这是我拥有的代码和参数。
SELECT
name, TABLE_NAME, COLUMN_NAME
FROM
sys.tables
INNER JOIN
INFORMATION_SCHEMA.COLUMNS ON TABLE_NAME = name
WHERE
TABLE_NAME = @TableName <--multiselect drop down
AND COLUMN_NAME = @ColumnName <--multiselect drop down
我的问题是如何在报告中创建列,以便根据选择显示相应的列名称。有些表有 4 列,有些有 30 列。我已经看到如何根据选择隐藏列的可见性,但是我必须这样做 278 列,必须有更好的方法。
谢谢。
【问题讨论】:
-
我建议您要么使用 SQL Server 特定的
sys.*系统目录视图(如sys.tables和sys.columns),或者然后使用 ANSI/ ISO 标准INFORMATION_SCHEMA视图 - 但不要将两者混为一谈。选择一个,坚持下去。 -
您是否使用存储过程来执行上述查询? @R阿里亚加
-
目前还没有,我还在想是否需要。
标签: sql-server-2008 tsql reporting-services ssrs-2008-r2