CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

取得某个表中带注释说明的字段

楼主ohyear(From Now On...)2005-05-31 10:35:01 在 MS-SQL Server / 基础类 提问

已知表:Tbl_stud_info  
  字段:     studNO     注释:学号  
                  ClassNO               班级  
            。。。。。。。。。    
              。。。。。。。  
   
  我是这样写的:  
   
  select   a.smallID,a.value,b.name   from   SysProperties   a     inner   join    
  (SELECT   syscolumns.name   as   name,syscolumns.id   as   id  
  FROM   syscolumns   INNER   JOIN   systypes    
      ON   syscolumns.xtype   =   systypes.xusertype   inner   join   dbo.sysobjects  
  on   syscolumns.id   =sysobjects.id  
   
  WHERE   sysobjects.name   =   'tbl_stud_info'  
  )b   on   b.ID   =   a.id    
   
   
  得到的结果是:  
   
  1 学号 StudNO  
  2 班级 StudNO  
  3 姓名 StudNO  
  4 简称 StudNO  
  5 曾用名 StudNO  
  6 性别 StudNO  
  7 民族 StudNO  
  8 年龄 StudNO  
  9 生日 StudNO  
  10 身份证号 StudNO  
  14 地址 StudNO  
  15 邮编 StudNO  
  16 电话 StudNO  
  1 学号 ClassNO  
  2 班级 ClassNO  
  3 姓名 ClassNO  
  4 简称 ClassNO  
  5 曾用名 ClassNO  
  6 性别 ClassNO  
  7 民族 ClassNO  
  8 年龄 ClassNO  
  9 生日 ClassNO  
  10 身份证号 ClassNO  
  14 地址 ClassNO  
  15 邮编 ClassNO  
  16 电话 ClassNO  
  1 学号 StudName  
  2 班级 StudName  
  3 姓名 StudName  
  4 简称 StudName  
  5 曾用名 StudName  
  6 性别 StudName  
  7 民族 StudName  
  8 年龄 StudName  
  9 生日 StudName  
  10 身份证号 StudName  
  14 地址 StudName  
  15 邮编 StudName  
  16 电话 StudName  
  1 学号 StudSName  
  2 班级 StudSName  
  3 姓名 StudSName  
  4 简称 StudSName  
  5 曾用名 StudSName  
  6 性别 StudSName  
  7 民族 StudSName  
  8 年龄 StudSName  
  9 生日 StudSName  
  10 身份证号 StudSName  
  14 地址 StudSName  
  15 邮编 StudSName  
  16 电话 StudSName  
  1 学号 StudNamed  
  2 班级 StudNamed  
  3 姓名 StudNamed  
  4 简称 StudNamed  
  5 曾用名 StudNamed  
  6 性别 StudNamed  
  7 民族 StudNamed  
  8 年龄 StudNamed  
  9 生日 StudNamed  
  10 身份证号 StudNamed  
  14 地址 StudNamed  
  15 邮编 StudNamed  
  16 电话 StudNamed  
  1 学号 StudSex  
  2 班级 StudSex  
  3 姓名 StudSex  
  4 简称 StudSex  
  5 曾用名 StudSex  
  6 性别 StudSex  
  7 民族 StudSex  
  8 年龄 StudSex  
  9 生日 StudSex  
  10 身份证号 StudSex  
  14 地址 StudSex  
  15 邮编 StudSex  
  16 电话 StudSex  
  1 学号 StudNation  
  2 班级 StudNation  
  3 姓名 StudNation  
  4 简称 StudNation  
  5 曾用名 StudNation  
  6 性别 StudNation  
  7 民族 StudNation  
  8 年龄 StudNation  
  9 生日 StudNation  
  10 身份证号 StudNation  
  14 地址 StudNation  
  15 邮编 StudNation  
  16 电话 StudNation  
  1 学号 StudAge  
  2 班级 StudAge  
  3 姓名 StudAge  
  4 简称 StudAge  
  5 曾用名 StudAge  
  6 性别 StudAge  
  7 民族 StudAge  
  8 年龄 StudAge  
  9 生日 StudAge  
  10 身份证号 StudAge  
  14 地址 StudAge  
  15 邮编 StudAge  
  16 电话 StudAge  
  1 学号 StudBirth  
  2 班级 StudBirth  
  3 姓名 StudBirth  
  4 简称 StudBirth  
  5 曾用名 StudBirth  
  6 性别 StudBirth  
  7 民族 StudBirth  
  8 年龄 StudBirth  
  9 生日 StudBirth  
  10 身份证号 StudBirth  
  14 地址 StudBirth  
  15 邮编 StudBirth  
  16 电话 StudBirth  
  1 学号 StudCid  
  2 班级 StudCid  
  3 姓名 StudCid  
  4 简称 StudCid  
  5 曾用名 StudCid  
  6 性别 StudCid  
  7 民族 StudCid  
  8 年龄 StudCid  
  9 生日 StudCid  
  10 身份证号 StudCid  
  14 地址 StudCid  
  15 邮编 StudCid  
  16 电话 StudCid  
  1 学号 StudNativePlace  
  2 班级 StudNativePlace  
  3 姓名 StudNativePlace  
  4 简称 StudNativePlace  
  5 曾用名 StudNativePlace  
  6 性别 StudNativePlace  
  7 民族 StudNativePlace  
  8 年龄 StudNativePlace  
  9 生日 StudNativePlace  
  10 身份证号 StudNativePlace  
  14 地址 StudNativePlace  
  15 邮编 StudNativePlace  
  16 电话 StudNativePlace  
  1 学号 StudPolitically  
  2 班级 StudPolitically  
  3 姓名 StudPolitically  
  4 简称 StudPolitically  
  5 曾用名 StudPolitically  
  6 性别 StudPolitically  
  7 民族 StudPolitically  
  8 年龄 StudPolitically  
  9 生日 StudPolitically  
  10 身份证号 StudPolitically  
  14 地址 StudPolitically  
  15 邮编 StudPolitically  
  16 电话 StudPolitically  
  1 学号 StudReg  
  2 班级 StudReg  
  3 姓名 StudReg  
  4 简称 StudReg  
  5 曾用名 StudReg  
  6 性别 StudReg  
  7 民族 StudReg  
  8 年龄 StudReg  
  9 生日 StudReg  
  10 身份证号 StudReg  
  14 地址 StudReg  
  15 邮编 StudReg  
  16 电话 StudReg  
  1 学号 StudAddr  
  2 班级 StudAddr  
  3 姓名 StudAddr  
  4 简称 StudAddr  
  5 曾用名 StudAddr  
  6 性别 StudAddr  
  7 民族 StudAddr  
  8 年龄 StudAddr  
  9 生日 StudAddr  
  10 身份证号 StudAddr  
  14 地址 StudAddr  
  15 邮编 StudAddr  
  16 电话 StudAddr  
  1 学号 StudPost  
  2 班级 StudPost  
  3 姓名 StudPost  
  4 简称 StudPost  
  5 曾用名 StudPost  
  6 性别 StudPost  
  7 民族 StudPost  
  8 年龄 StudPost  
  9 生日 StudPost  
  10 身份证号 StudPost  
  14 地址 StudPost  
  15 邮编 StudPost  
  16 电话 StudPost  
  1 学号 StudTel  
  2 班级 StudTel  
  3 姓名 StudTel  
  4 简称 StudTel  
  5 曾用名 StudTel  
  6 性别 StudTel  
  7 民族 StudTel  
  8 年龄 StudTel  
  9 生日 StudTel  
  10 身份证号 StudTel  
  14 地址 StudTel  
  15 邮编 StudTel  
  16 电话 StudTel  
  1 学号 StudPhoto  
  2 班级 StudPhoto  
  3 姓名 StudPhoto  
  4 简称 StudPhoto  
  5 曾用名 StudPhoto  
  6 性别 StudPhoto  
  7 民族 StudPhoto  
  8 年龄 StudPhoto  
  9 生日 StudPhoto  
  10 身份证号 StudPhoto  
  14 地址 StudPhoto  
  15 邮编 StudPhoto  
  16 电话 StudPhoto  
  1 学号 StudExist  
  2 班级 StudExist  
  3 姓名 StudExist  
  4 简称 StudExist  
  5 曾用名 StudExist  
  6 性别 StudExist  
  7 民族 StudExist  
  8 年龄 StudExist  
  9 生日 StudExist  
  10 身份证号 StudExist  
  14 地址 StudExist  
  15 邮编 StudExist  
  16 电话 StudExist  
   
  ------------------------------------------------------  
  我想得到的是:  
  1 学号 StudNO  
  2 班级 ClassNO  
  3......  
  问题点数:100、回复次数:5Top

1 楼wangdehao(找找找(现在很幸福))回复于 2005-05-31 11:22:05 得分 5

很明显是连接的问题,可能连接条件不充足,应该是缺少sysobjects和systypes的连接条件Top

2 楼zjcxc(邹建)回复于 2005-05-31 11:22:20 得分 50

select   a.smallID,a.value,c.name    
  from   SysProperties   a      
  inner   join   syscolumns   c   on   a.id=c.id   and   a.smallid=c.colid  
  inner   join   sysobjects   o   on   a.id=o.id  
  where   o.name   =   'tbl_stud_info'  
  Top

3 楼631799(杭州工人)回复于 2005-05-31 11:24:29 得分 20

SELECT    
  表名=case   when   a.colorder=1   then   d.name   else   ''   end,  
  表说明=case   when   a.colorder=1   then   isnull(f.value,'')   else   ''   end,  
  字段序号=a.colorder,  
  字段名=a.name,  
  标识=case   when   COLUMNPROPERTY(   a.id,a.name,'IsIdentity')=1   then   '√'else   ''   end,  
  主键=case   when   exists(SELECT   1   FROM   sysobjects   where   xtype='PK'   and   name   in   (  
  SELECT   name   FROM   sysindexes   WHERE   indid   in(  
  SELECT   indid   FROM   sysindexkeys   WHERE   id   =   a.id   AND   colid=a.colid  
  )))   then   '√'   else   ''   end,  
  类型=b.name,  
  占用字节数=a.length,  
  长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),  
  小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),  
  允许空=case   when   a.isnullable=1   then   '√'else   ''   end,  
  默认值=isnull(e.text,''),  
  字段说明=isnull(g.[value],'')  
  FROM   syscolumns   a  
  left   join   systypes   b   on   a.xusertype=b.xusertype  
  inner   join   sysobjects   d   on   a.id=d.id     and   d.xtype='U'   and     d.name<>'dtproperties'  
  left   join   syscomments   e   on   a.cdefault=e.id  
  left   join   sysproperties   g   on   a.id=g.id   and   a.colid=g.smallid      
  left   join   sysproperties   f   on   d.id=f.id   and   f.smallid=0  
  --where   d.name='要查询的表'         --如果只查询指定表,加上此条件  
  order   by   a.id,a.colorderTop

4 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-05-31 11:28:37 得分 20

select    
          a.smallID,  
          a.value,  
          b.name    
  from    
          SysProperties   a      
  inner   join    
          (SELECT    
                      syscolumns.name     as   name,  
                      syscolumns.id         as   id,  
                      syscolumns.colid   as   smallID  
            FROM    
                      syscolumns    
            inner   JOIN    
                      systypes    
            ON    
                      syscolumns.xtype   =   systypes.xusertype    
            inner   join    
                      dbo.sysobjects  
            on    
                      syscolumns.id   =sysobjects.id  
            WHERE    
                      sysobjects.name   =   'Tbl_stud_info')   b    
  on    
          b.ID   =   a.id   and   a.smallID   =   b.smallIDTop

5 楼cathylang()回复于 2005-06-01 16:58:51 得分 5

zjcxc(邹建)   的方法我试了,ok,没有问题,非常感谢Top

相关问题

  • 取得某个表中带注释说明的字段
  • 已知表名,如何取得表中各字段的定义(字段名,数据类型,长度,注释)。
  • 怎样察看表中字段的注释或说明
  • 表中各字段的注释没有了?
  • SQL SERVER、ORACLE,怎样得到表里面字段的注释???
  • 如何取得表中每一个字段的字段名????
  • 如何取得表的字段名
  • 怎样取得主表字段名称
  • 如何用ADOX 得到MDB中的所有表名,表注释,名表中的字段名,注释,类型?
  • 如何获得access表中,表的说明(注释)和字段的说明(注释)???

关键词

  • 学号
  • classno
  • studno
  • studname
  • studsname
  • 曾用名
  • 班级
  • syscolumns
  • 简称
  • studs

得分解答快速导航

  • 帖主:ohyear
  • wangdehao
  • zjcxc
  • 631799
  • libin_ftsafe
  • cathylang

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo