如何根据用户选择的数据生成动态查询。 I.E. 表1有基本的人事数据:姓名,社会分数......表2有地址信息:地址,城市,州,邮编 表三列出了已经合作的合同工作历史。
用户可以选择要返回的数据: 姓名,地址,当前合同,合同所在地的当前名称等......
我向他们提供了选项列表,我将数据存储在数据库中,其中包含 - tableName和fieldName ...
但我不确定如何动态地将数据编译成查询。我得到动态sql但这是结构和检索的问题。
任何人都做过这样的事情或没有地方可以看?
答案 0 :(得分:0)
如果您需要始终将此信息提供给报告,我建议您将所有数据都返回到报告中,然后动态隐藏前端应用程序中不需要的列。这通常更容易。
如果您必须从SQL端执行此操作,则可以执行以下操作:
SELECT
CASE WHEN @paramDisplayName = 1 THEN Name ELSE NULL END AS Name,
CASE WHEN @paramDisplayAddress = 1 THEN Address ELSE NULL END AS Address
...
...
...
FROM
Wherever
这仍会返回列,但它会为空。