求大神帮忙,除去SQL语句查询结果中的重复字段

求大神帮忙,去除SQL语句查询结果中的重复字段?描述一下遇到的问题:当Articles这个表中有一个外键字段的时

求大神帮忙,去除SQL语句查询结果中的重复字段?
描述一下遇到的问题:当Articles这个表中有一个外键字段的时候,不会出现结果重复字段的情况,当有两个外键字段的时候,就会出现每个字段重复两次,当有三个外键字段的时候,就会出现每个字段重复三次....

在代码中,添加了DISTINCT,但是还是有重复字段,不知道是怎么回事?求大神们帮忙看一下:
代码:

SQL code
SELECT DISTINCT    字段序号=a.colorder ,    字段名=a.name ,     外键字段所在的表=CASE WHEN tony.fkey is not null and tony.fkey=a.colid                THEN object_name(tony.rkeyid) ELSE ''           END ,     外键字段=CASE WHEN tony.fkey is not null and tony.fkey=a.colid                 THEN (SELECT name FROM syscolumns                       WHERE colid=tony.fkey AND id=tony.fkeyid)                       ELSE ''             END,     类型=b.name FROM sys.syscolumns a    LEFT JOIN systypes b ON a.xtype = b.xusertype     INNER JOIN sysobjects d ON a.id = d.id AND d.xtype = 'U' AND d.status >= 0    LEFT JOIN sysobjects htl ON htl.parent_obj=d.id AND htl.xtype='F'    LEFT JOIN sysforeignkeys tony on htl.id=tony.constidWHERE d.name='Articles'  --这里输入包含表名称的条件






[解决办法]
LZ感觉是做表的自定义字段吧,以表来查询不会有重启的字段了?再加个表名两个字段组合主键就可以了
这样感觉表有点...
[解决办法]
SQL code
SELECT     字段序号=a.column_id ,    字段名=a.name ,    外键字段所在的表=OBJECT_NAME(referenced_object_id),    外键字段=SC.name,    SC.name,     类型=b.name FROM sys.columns a    LEFT JOIN systypes b ON a.user_type_id = b.xusertype     LEFT JOIN sys.foreign_key_columns FK  ON  FK.parent_object_id = a.object_id  AND FK.parent_column_id = a.column_id     LEFT JOIN sys.columns SC  ON FK.referenced_object_id = SC.object_id   AND FK.referenced_column_id = SC.column_id  WHERE a.object_id=OBJECT_ID('tb')  --这里输入包含表名称的条件
[解决办法]
如果你是05 或刚高版本就不要在使用
 syscolumns systypes sysobjects 了

请用
sys.columns sys.types sys.objects
[解决办法]
select 字段序号,字段名,max(外键字段所在的表) as 外键字段所在的表,max(外键字段) as 外键字段,类型
from (SELECT distinct
字段序号=a.colorder ,
字段名=a.name ,
外键字段所在的表=CASE WHEN tony.fkey is not null and tony.fkey=a.colid
THEN object_name(tony.rkeyid) ELSE ''
END ,
外键字段=CASE WHEN tony.fkey is not null and tony.fkey=a.colid
THEN (SELECT name FROM syscolumns
WHERE colid=tony.fkey AND id=tony.fkeyid)
ELSE ''
END,
类型=b.name 

FROM sys.syscolumns a
LEFT JOIN systypes b ON a.xtype = b.xusertype 
INNER JOIN sysobjects d ON a.id = d.id AND d.xtype = 'U' AND d.status >= 0
LEFT JOIN sysobjects htl ON htl.parent_obj=d.id AND htl.xtype='F'
LEFT JOIN sysforeignkeys tony on htl.id=tony.constid
WHERE d.name='TB_Details' ) as TB
group by 字段序号,字段名,类型

字段不存在 ,不能啊 。测试通过的