首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建和使用字段名表?SQL Server

如何创建和使用字段名表?SQL Server
EN

Stack Overflow用户
提问于 2015-08-18 22:09:27
回答 1查看 147关注 0票数 0

我在SQL Server中有一个数据库。

整个数据库中的每个字段都是这样命名的:'F01,F02,F03...‘一直到'F25000’

使用这个数据库很困难,因为我必须通过字段中包含的数据来猜测字段是什么,或者必须在外部CSV文件中查找字段定义。

我有一个CSV文件,其中每个字段都定义了一个字母数字描述。

我是否可以创建一个名为"Fields“的表,然后将CSV文件中的Field和Description列添加到该表中?然后,我想在以后的查询中引用这个Fields表,其中列标题将被新创建的Fields表中的字母数字定义字段替换?我认为这一切都是可能的。

如何创建表并将csv文件的内容添加到该表中?CSV文件只包含两列:字段编号和描述。

那么我如何编写查询来引用我创建的fields表呢?我只想从数据库中的其他表中选择*,但用字段定义替换列标题。

EN

回答 1

Stack Overflow用户

发布于 2015-08-18 22:26:14

首先,将CSV文件加载到表中。这会有帮助的。

第二个问题更难解决。一种方法是获取所有现有的表(有25,000个字段,您就有很多表),并构造用于访问它们的视图。如下所示:

代码语言:javascript
运行
复制
select 'create view v_' + t.table_name +
       stuff((select cast(', ' + c.column_name + ' as [' + f.description + ']' as varchar(max))
              from information_schema.columns c join
                   fieldsname f
                   on f.field = c.column_name
              where c.table_name = t.table_name
              for xml path (''), type
              ).value('', 'varchar(max)'
                     ), 1, 1, ''
             ) as viewdef
from information_schema.tables t
where exists (select 1 from information_schema.columns where column_name like 'F[0-9]%');

(在调试之后),您可以运行生成的代码来获得每个表的视图,这将使您的工作更加轻松。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32074795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档