Ash*_*Ash 2 sql sql-server sql-server-2005 dynamic sql-server-2008
有没有办法写一个像这样的查询:
select * from <some number of tables>
Run Code Online (Sandbox Code Playgroud)
...表的数量未知?我想避免使用动态SQL.我想从(表)具有特定前缀的所有表中选择所有行:
select * from t1
select * from t2
select * from t3
...
Run Code Online (Sandbox Code Playgroud)
我不知道t(n)有多少可能(可能是1,可能是20,等等).t表列结构不一样.其中一些有2列,其中一些是3或4列.
使用动态SQL并不难,但我想知道是否有办法使用类似的东西sys.tables.
UPDATE
基本数据库设计解释
N公司将注册/登录我的申请
每家公司都将设置一个包含x列的表
(x取决于公司的业务类型,可以是不同的,例如想到两家公司:一家是Carpenter,另一家是报纸)
每家公司都会使用我建立的API填写自己的表格
我对数据做了什么:
我有一个"处理器",它将是SQL或C#或其他什么.
如果一个公司至少有一行,我将在COMMON表中生成一条记录.
所以最终结果将全部放在一个表格中.
来自N个公司中的任何一个的任何人都将登录并将看到为他自己的公司过滤的COMMON表.
Adr*_*iro 10
没有动态SQL,就没有办法做到这一点.并且具有不同的表结构根本没有帮助.
更新
没有简单的方法可以在一个结果集中返回所需的输出(结果集将至少具有与大多数列相同的表的列数,甚至不会让我开始使用数据类型兼容性).
但是,你应该检查@ KM.的答案.这将带来多个结果集.