取得某个表中带注释说明的字段
已知表: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




