我试图在我的数据库中结合30多个表而不将它们全部列出。它们的名字都以相同的最后四个字符结尾。
我已经尝试列出所有这些但是需要一种更有效的方法来识别以四个字符结尾的所有表。我试过寻找一种搜索表名的方法。
select * from [dbo].[AL2019CLFC]
union
select * from [dbo].[AR2019CLFC]
union
select * from [dbo].[AZ2019CLFC]
.....
我期待一种方法来识别所有表中的最后四个字符'CLFC'并将它们联合起来。
我建议从系统的表列表中查询并构建你的sql语句。然后将结果复制回查询窗口。从技术上讲,你可以创建一个存储过程来构建一个字符串,然后运行executionql来获得结果。
注意:下面的示例将提供应删除的尾随UNION关键字。再说一次,如果你想获得更好的,你可以绕过它,但希望这足以让你前进。
MS SQL Server:
select
'SELECT * FROM ' + name + ' UNION ' query
from sys.tables
where name like '%CLFC'
甲骨文:
select
'SELECT * FROM ' || table_name || ' UNION ' query
from user_tables
where table_name like '%CLFC'