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.nameFROM 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如何在数据库里根据某个字段,查出该表名字的主要内容,如果未能解决你的问题,请参考以下文章
如何查出在oracle 表中的某个字段中符合以下要求:包括除汉字、数字、字母、中画线、括弧外的其它字符
sql如何获得某个数据库里面的表的字段名,字段类型,字段长度(sql server2005)
在SQL中如果主键字段是不连续的 如何查出表中的第三四条数据