查询中的Information_schema.columns

时间:2018-10-02 15:05:00

标签: sql join schema information-schema

我需要从所有具有“ custom1,custom2,custom3 .....”列的表中的自定义列中提取数据。

Declare @TableName varchar(max)
set @TableName = 'RandomTable';

with main as 
(
     select distinct 
         infos.COLUMN_NAME, infos.TABLE_NAME
     from 
         INFORMATION_SCHEMA.COLUMNS infos
     where 
         infos.TABLE_NAME = @TableName
         and infos.COLUMN_NAME like 'Custom%%'
)

此查询返回我在参数中指定的任何表中的自定义列的列表。知道如何在查询中使用它,以便我可以从RandomTable.Custom%%列中获取所有数据吗?

有什么主意吗?我正在松散它的地块。

1 个答案:

答案 0 :(得分:0)

遵循不熟练的想法,并猜测您正在使用SQL Server,您可以执行以下操作:

auth.User

我将工作区保存在此fiddle中。不幸的是,它不能像预期的那样在那儿工作,但是它应该在您的SQL客户端中(或者我在输入时有点错误)。进行一些小的修改,您不仅可以显示1个指定表的定制列,还可以显示所有表的定制列。另外,除了选择它之外,您还可以从临时表的自定义列中插入输出。