select a.StuSn,a.StuName,a.StuClass,b.总分,c.主观分,d.客观分,e.*,f.*  from(
          (。) as a 
           left join
           (。) as b
          on  a.StuSn=b.StuSn
           left join
          (。) as c
          on  a.StuSn=c.StuSn
            left join
            () as d
             on  a.StuSn=d.StuSn
           left join
              (select * from zhuguan) as e
             on  a.StuSn=e.StuSn
           left join
               (select * from keguan) as f
             on  a.StuSn=f.StuSn
            )
因为我这个e 表 和 f表中的列是不固定的,所以我想让总的列中只有一个 StuSn,请问如何去掉e.StuSn和f.StuSn
求高手

解决方案 »

  1.   

    这个据我所知。。sql没有这个功能,就是说不能用一关键字直接搞定 select * 然后排除某一个字段如果e和f的字段不固定,可以考虑在程序里判断有哪些列,再拼凑sql
    select case iType
    case 1
    strSql += "e.Col1,"
    case 2
    strSql += "e.Col2,"
    ....
    end select
      

  2.   

    问题在e表,和f表,只要是列头问题
    e表列头:StuSn,1,2,3,4,5,6,..........
    f表列头:StuSn,第二题,第三题.........
      

  3.   

    查总标的列头就是多了:2个 StuSn,这就是我的问题
      

  4.   


    很明显啊。你select a.StuSn,这里先显示出来了一个,
    然后你e.*,f.*    ,你这里又多显示了两个。
      

  5.   


    在上面select的时候,后面别用 e.* ,f.*把e和f表里面的字段一个一个写出来,但是不要写StuSn你这两个表里面应该都有StuSn字段,别用 * ,直接写字段名
      

  6.   

    比如你 e 表里面是  id, name ,StuSn 当你 e. *  的时候,就把这三个都又查询出来了,所以就多了StuSn你这样写 e,id,e.name  不要用* 
      

  7.   


    你写e.*,f.*多了两个,想去掉,但是,是去不掉的所以只能不要写e.*,f.*,一个字段一个字段写出来
    字段不固定,有时多有时少,就在程序里判断,判断有多少字段select 后面就带多少个字段
      

  8.   

    exec('
        declare @Sql varchar(8000) 
        set @Sql =''select * into zhuguan from(select StuSn '' 
        select @Sql = @Sql + '' , max(case QuestNo_Point when '''''' + QuestNo_Point + '''''' then StuAnswer else 0 end) ['' + QuestNo_Point + '']''
        from (select distinct QuestNo_Point from '+@table1+') as a
        set @Sql = @Sql + '' from [DB_Exam_'+@ProSn+'].[dbo].[TotalScore] group by StuSn) as xy  ''
        exec(@Sql)  
         ')列名不固定在这,这是生成的e表
      

  9.   

    select QuestNo_Point  from TotalScore
     其中我的列名就是QuestNo_Point的所有值,不知道如何获取
      

  10.   

    我看你之前也有过一个SQL的问题,不妨把你要用SQL进行什么逻辑处理的流程说一下,看大家有没有更好的方案。。比如说表该如何设计等等,你这样的话很麻烦。。