SQLSERVER如何在数据库里根据某个字段,查出该表名字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSERVER如何在数据库里根据某个字段,查出该表名字相关的知识,希望对你有一定的参考价值。

SQLSERVER如何在数据库里根据某个字段,查出该表名字

SQLSERVER中 根据字段名称查找所在表格名称的方法:

一、语句的思路:

SQLSERVER的两个系统表:1、保存表格字段属性的:syscolumns 2、保存数据库对象属性的:sysobjects ,它们都包含对象ID字段,所以可以使用两个表格的ID字段,作为表格联合检索依据来进行检索。

二、相关系统表格简介:

1、syscolumns :每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。

2、sysobjects :在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。

三、根据字段名称检索所在表格名称

select syscolumns.name,sysobjects.name --syscolumns.name:字段名、sysobjects.name:表格名称
from syscolumns,sysobjects 
where syscolumns.name = \'gc_lczt\' and syscolumns.id = sysobjects.id;--以字段名称\'gc_lczt\'为例,使用字段ID关联两个表格

四、检索结果如图:

五、注意:因为不同表格可能有相同的字段名称,所以结果有可能不只一条。

参考技术A 你可以用工具把数据库表定义导出来,导出的是excel文件,再在这个excel文件里检索这个字段名称 参考技术B SELECT t2.name 
FROM syscolumns t1,sysobjects t2
WHERE t1.id=t2.id
and t1.NAME='字段名'

用SQL怎样根据一个表种的字段ID查出另一个表中的数据?

参考技术A

    例如:两个表中的news_type_id 跟 type_id是对应的,根据NEWS 表中的 news_type_id =1 查出 news_type 表中的 type_name

    根据 NEWS表中的 news_type_id = 1 查出 news_type表中的 “透明点评” 这条数据,“透明点评”是最后需要查出来的位置数据。

比如表连接的方式就可以写成:
select n.id,t.type_name,title from news as n inner join news_type as t on n.news_type_id=t.type_id;
只查“透明点评”的数据子查询可以写成:
select * from news where news_type_id=(select type_id from news_type where type_name='透明点评');

以上是关于SQLSERVER如何在数据库里根据某个字段,查出该表名字的主要内容,如果未能解决你的问题,请参考以下文章

mysql中如何查出除了某个字段外的所有字段的值??

如何查出在oracle 表中的某个字段中符合以下要求:包括除汉字、数字、字母、中画线、括弧外的其它字符

sql如何获得某个数据库里面的表的字段名,字段类型,字段长度(sql server2005)

在SQL中如果主键字段是不连续的 如何查出表中的第三四条数据

在一个SQL数据库中怎么查出包含某个特定字段的所有数据表信息

sqlserver如何修改表某个字段的属性?