我是新来的报告服务,所以这个问题可能是疯了。我正在寻找一种方法来创建一个空的“模板”报告(基本上是一个表格字母),而不必为我们系统中的每个客户创建一个报告。该表格信件的一部分是具有任意数量的25个特定字段的部分。的部分被安置成这样:报告服务和动态字段
Name: Jesse James
Date of Birth: 1/1/1800
Address: 123 Blah Blah Street
Anywhere, USA 12345
Another Field: Data
Another Field2: More Data
这些(以及任何其他字段客户端指定的)可以以任何顺序排列,并在左侧的标签可以是任何客户端决定(例如:“DOB”而不是“出生日期”)。理想情况下,我希望能够拥有一个Web界面,您可以点击所需的字段,指定它们出现的顺序,并指定自定义标签的内容。我想出了一种方法来指定标签并对它们进行排序(并在报告中“动态”加载它们),但是如果可以并允许动态字段(右侧)选择和排序,我想进一步采取这一步骤。问题是,我想在不使用动态SQL的情况下执行此操作。我走了一条包含序号,自定义标签文本和实际列名的配置表,并尝试将该表与包含通过information_schema.columns实际包含数据的表连接起来。也许查询所有的潜在领域,并有一个INNER JOIN做我的过滤(如果有'配置'表等匹配)。这并不像我想的那样工作:)我猜我在想我可以模拟数据集的功能(它的值和字段名称已烘焙到对象中)。我意识到这不是尝试这种壮举的最佳工具,这正是我被迫与之合作的原因。
配置表将保存许多客户/报告的配置,我将通过客户ID过滤。该配置表看起来财产以后这样的:
客户ID LabelText的的ColumnName序 1名FName参数1 1姓LName的2 1个出生DOBirth日期3 2客户端ID的ClientID 1 2姓LName的2 2地址1地址1 3 2地址2地址2 4
所有这一切说:
- 有没有办法拉断上述查询?
- 我是否太挑剔不使用动态SQL,因为相关部分只会拉回一行?然而,有数百个客户每天运行这个报告(信件)两三次。
另外,请记住,我没有试图在报表上动态创建文本框。我将把这些字段连接成单个字符串并将其转储到文本框中,或者我将有多个报告,每个报告都具有期望通用字段名称(“field1”等)的一定数量的文本框。我输入的越多,这听起来就越疯狂...... 如果没有办法做到这一点,我可能会在自定义代码中找到一些东西;但我的强迫症方想要相信有超过我目前的权力,可以做到这一点在一个闪烁的方式SQL。
感谢您的回复@jamief。是的,配置表确实会保存许多客户/报告的配置,并且我将通过客户ID进行过滤。该配置表看起来财产以后这样的: 客户ID LabelText的的ColumnName序 1名FName参数1 1姓LName的2 1日出生DOBirth的3 2客户端ID的ClientID 1 2姓LName的2个 2地址1地址1 3 2地址2地址2 4 – DerPflug 2012-02-14 14:16:53
我已经编辑了我的答案,以解释这些细节。 (顺便说一句,在堆栈溢出,我们鼓励你回去编辑你原来的问题,根据需要添加更多的细节。) – 2012-02-14 14:36:52
你的答案完全适合我的需求。谢谢你的帮助。 – DerPflug 2012-02-14 16:59:21