【问题标题】:SQL Server Select from multiple tables in arraySQL Server 从数组中的多个表中选择
【发布时间】:2014-05-06 19:28:37
【问题描述】:

关于 SQL Server 2808 的简单问题。

视图1:

Select name from sys.tables where name like 'ab%'

结果:

Name
----
ab01
ab02
abxyz etc...

现在我想查询这些表。

 Select * from view1

当然我得到 ab01、ab02、abxyz。我想要的是查询内容

select * from ab01, ab02, abxyz 

最好的办法是在 view1 查询上使用联合

类似

Union view1 

应该是这样的

Select * from ab01
union 
select * from ab02
....

有什么想法吗?

问候

【问题讨论】:

  • 您需要为此使用动态 SQL,使用 sp_executesql。您不能将此类查询放入视图中。
  • 你可以试试这个解决方案:stackoverflow.com/a/17429218/1627055
  • 同样union 仅在所有表的表结构相同(或至少具有相同数量的具有相同数据类型顺序的列)的情况下才有效
  • 完美!谢谢!它正在工作
  • Rewind:完美运行,但是如何在 select 语句中得到结果?

标签: sql sql-server sql-server-2008


【解决方案1】:

使用光标。
创建一个临时表。
循环游标并将结果添加到临时表中。
从临时表中全选。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多