繁体   English   中英

从另一个表名称列表中选择表(SQL树合并)

[英]select tables from another table name list (SQL tree merge)

在我的SQL Server中,我有一个“ table_list”,它记录了必要的“ sub_tables”,如下所示:

================
needed_sub_table
----------------
sub_table_1
sub_table_2             <= table_list_1
sub_table_3               
=================

================
needed_sub_table
----------------
sub_table_2
sub_table_6             <= table_list_2
sub_table_9               
=================

在sub_tables中,它们具有完全相同的列,但具有不同的数据:

========================
ID  |  name |  parentID
------------------------
1   |  asv  |    0
2   |  asdf |    1             <= sub_table_1
3   |  ggre |    2
========================

========================
ID  |  name |  parentID
------------------------
4   |  uyer |    3
5   |  dfgh |    4             <= sub_table_2
6   |  dhgr |    5
========================

我想做的是:合并“ table_list”中列出的“ sub_tables”

我试过了:

SELECT * FROM (SELECT needed_sub_list FROM table_list)

但这不起作用。

我希望看到的是:

========================
ID  |  name |  parentID
------------------------
1   |  asv  |    0
2   |  asdf |    1             
3   |  ggre |    2
4   |  uyer |    3
5   |  dfgh |    4             <= result of table_list_1 
6   |  dhgr |    5                (and so for table_list_2....etc.)
========================

并且由于我的项目可能需要sub_tables的不同组合,因此我必须将这些组合保存在其他表中。 这意味着我不能只直接合并sub_tables,因为我只能根据table_lists知道需要哪些sub_tables。 谁能帮我这个忙吗? 提前致谢。

我认为您只需使用基本的UNION查询即可获得所需的内容:

SELECT ID, name, parentID
FROM sub_table_1
UNION ALL
SELECT ID, name, parentID
FROM sub_table_2
ORDER BY ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM