我有一个表:项目编号,项目名称,专家编号,专家名称,打分
第一个项目都有10个专家打分,我想查询出这种效果或用这种格式打印!:
     项目编号  项目名称 专家1,专家2,专家3专家10

解决方案 »

  1.   

    select 项目编号,项目名称,
    (select 打分 from table where 专家编号=专家1的编号 and 项目编号=tb.项目编号),
    (select 打分 from table where 专家编号=专家2的编号 and 项目编号=tb.项目编号),
                   .
                   .
                   .
    (select 打分 from table where 专家编号=专家10的编号 and 项目编号=tb.项目编号)
    from table as tb group by 项目编号,项目名称
      

  2.   

    sql实现比较麻烦,可能效率不会很高。
    我用report machine 实现过类似的报表,应该也是能实现你这个的,不过是个收费的组件。
      

  3.   

    用SQL命令不好解决,这样吧,用一段程序解决吧。
    先建一个临时库tmp结构为:项目编号  项目名称 专家1,专家2,专家3专家10
    然后
        insert into tmp(项目编号,项目名称 )
           select 项目编号,项目名称 (distinct 项目编号)
               from old //原来的库
    然后再用循环来补充各个专家的打分
       while(not eof(old))
        if 专家名称=专家1
           update tmp 专家1=old.打分。
           where old.项目编号=tmp.项目编号
        else if   专家名称=专家2
           update tmp 专家2=old.打分。
           where old.项目编号=tmp.项目编号
    ..................
    ................
        enfif
      你试试行不?
      

  4.   

    再输出就可以了
    select .
      from tmp
      to print
      

  5.   

    你把你的数据-->excel 文件,发到我的信箱([email protected])里,我给做!!
      

  6.   

    或者做九次迪卡尔积
    也就是select 
    from old as x,old as y, old as z.................九个。//old为原库
    where x.项目编号=y,项目编号 and y.项目编号=z.项目编号 and ........九个。

      

  7.   

    select a.项目编号,a.项目名称,b.专家,b.打分,c.专家,c.打分 from table a,(select 专家 from table where 项目编号= '01') b .............
      

  8.   

    我觉得 lyguo(初学者) 的办法不错,可以试试看。但是 xiufengy(石破天) 的代码实在是太长了,。 看起来比较吃力,最好解释一下。:-)))还有我觉得既然一个项目需要10个专家打分  这个数据库的表结构就有点不合适。