试试用系统表
  syscolumns,
  筛选出没有重复的字段,把它赋给一个变量STR
  然后写一个复杂点存储过程
   用动态执行Eexec('selec '+STR 'from ....')执行
 
    

解决方案 »

  1.   

    TO:geliang(太阳的光芒)
      syscolumns表里乱糟糟的, 看不太明白,应distinct哪个字段?
      

  2.   

    TO:geliang(太阳的光芒)
    select distinct name from syscolumns
    这样选出了一大堆的东西,还是不知所措!
      

  3.   

    你多表建立关联的话,会有多条重复记录,你只有distinct才行.
    你最好distinct关联字段,如果还是不行,把代码贴出来看看
      

  4.   

    TO:quickp(philosopher)
    这招确实好用,我用你说的这招已手工筛选出不同的字段,但这还需要在程序中动态拼装,还有
    没有更直接,更COOL的法子? ——多谢!TO:geliang(太阳的光芒) 
    多谢指教!
        问题是distinct操作的具体对象的选择和一般性的操作方法是什么,能否再讲的细一点;
    因为程序应特殊需要开发,代码名都比较怪,大致的结构如下:
    1、由交互界面传递所需的“表名字符串”和“条件字符串”;
    2、拼装之后提交SQLSERVER;大致格式如下:
    select * from Tablename1 inner join Tablename2 on Tablename1.relationID=Tablename2.relationID inner join Tablename3 on Tablename2.relationID=Tablename3.relationID
    这样就会出现好几个relationID字段,这时如果我们对结果集中的relationID字段进行筛选
    系统就会提示该字段有争议(因为有几个相同的)而无法进行正常筛选;
    我的问题有没有一个确切的办法,方便地剔除重复字段?
             谢谢!
      

  5.   

    对你的SQL命令优化一下,你为何要迎难而上而不绕圈子呢?
      

  6.   

    兄弟,还是指定字段名,然后用AS改名吧。你的问题似乎没有你所要求的解决办法。例如:SELECT A.FIELD1 AS A1, B.FIELD1 AS B1 .......又想语句简单,又想不产生冲突,还要想着自己只是入门级而不愿用高级些的方法,世界上真的没有这么完美的事情的。你说是吗?
      

  7.   

    liwens()
    我建了二个结构与你大致相同的表,没有出现你的情况,我现在也不知道你的表到底结构如何,也很难下结论,我建议你在sql表里写sql语句试试,要分段测试,看看是不是有同样的结果。
    还有quickp(philosopher),ChipHead(ChipHead)几位仁兄説的挺有理,你可以走几条不同的路试试,祝你早日成功!
      

  8.   

    TO:geliang(太阳的光芒);quickp(philosopher);ChipHead(ChipHead);
    非常感各位兄弟的热心帮助及指导!!!
    按大家的各种思路我用了个笨办法把事情解决了!呵呵呵呵!
    先将所有的Fieldname追加表各约束后,添加到一个数组,再用个FOR循环及Compare的方法除去中间的冗余字段即可从SQLSERVER返回一个无重复字段的结果集!不过筛选时要对SQL进行一点处理(除去表名约束,如Product.ProductID中的“Product.”)才能按用户的要求进行正常筛选!这个办法太烦琐,可能维护起来不太方便!如果大家有更好的办法可以告诉我!
    (由于本人水平太差,而且是第一次用DELPHI写程序,并且身边也没有高人指点,所以甚至不了解业界对于一些常见问题的习惯性解决方法,又怕走弯路!呵呵!故而提出的问题可能有点怪!让兄弟们多费了些心思!) 
       还希望兄弟们日后多多关照!!!  多谢!
    给各位加分!