[英]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.