这是我的查询。 我有两张桌子作为例子
将来我会在查询中添加更多表格。
那么如何在单个查询中动态加入这些表
1)tblEmployee
- EmpId
- Name
- DOB
2)tblSalary
- EmpId
- TotalSalary
- PF
- NetSalary
我如何获取数据。 表名和字段名在变量中,逗号分隔。
DECLARE @FieldNames VARCHAR(MAX) = 'Id, Name, NetSalary'
DECLARE @TableName VARCHAR(MAX) = 'tblEmployee, tblSalary'
SELECT @FieldNames FROM @TableNames
我可以使用主键和外键自动连接这些表吗?
以上查询返回的虚拟数据太多。
答案 0 :(得分:0)
虽然在我看来这有点过于动态,你可以循环遍历表名(之前拆分表名字符串),尝试获取外键(例如:How can I list all foreign keys referencing a given table in SQL Server?)循环然后使用JOINS构建一个可怕的动态SQL字符串,并使用“execute(@cmd)”执行它。 “master”表将是不包含所有其他表的FK的表。