【发布时间】:2019-10-22 19:12:04
【问题描述】:
我正在摆弄这段代码来查找所有表名以及我需要的所有字段。
select t.name, c.name
from sys.columns c
join sys.tables t
on c.object_id = t.object_id
where c.name like '%ID%'
OR c.name like '%ID1%'
OR c.name like '%ID2%'
OR c.name like '%ID3%'
OR c.name like '%ABC%'
OR c.name like '%RTG%'
order by c.name
我得到了几百个表名和字段名。基本上,我试图找出最简单的方法来获得这样的结果:
select col1, col2, col3, null as col4 from table1
union all
select col1, col2, col3, null as col4 from table2
union all
select col1, col2, col3, col4 from table3;
这里的挑战是......我可以输入逻辑,但我要处理数百个表/字段,并且很难对所有这些逻辑进行硬编码。我正在使用 SQL Server Azure。想法?想法?有什么建议吗?
【问题讨论】:
-
这看起来像是一个 XY 问题。我非常怀疑您的每个表对它们的 all 列都有相同的定义;如果他们不这样做,那么这本身就是一个设计缺陷。
标签: sql sql-server