请教一个问题啊:
比如两张张数据库表的结构是这样的(阶段ID是主键):
  项目ID  阶段ID(主键) 阶段名,   阶段开始时间
    10      101          大       2008-1-1
   10     102           小       2008-1-5
   20     201           大       2008-1-9
   20     202           小       2008-1-12
我现在要用什么语句才能让查询的结果变成:
项目ID  批次  大阶段开始时间  小阶段开始时间
  10     1       2008-1-1   2008-1-5
  20     2      2008-1-9    2008-1-12  

解决方案 »

  1.   

    select a.项目ID, a.阶段开始时间 as 大阶段开始时间,b.阶段开始时间 as 小阶段开始时间 
    from
      (select 项目ID,  阶段ID, 阶段开始时间 from table1 where 阶段名='大') a
      (select 项目ID,  阶段ID, 阶段开始时间 from table1 where 阶段名='小') b
    where a.项目ID=b.项目ID
      

  2.   

    不好意思,那个批次是我忘了去掉了,
    用你的方式是可以的,但是我现在碰到一个麻烦是,要将另外一张表的一个字段关联进去,
    我不懂得语法要怎么做,
    这张表是这样的:
    table2:
            项目名称  项目ID(主键)
            子项目1   10
            子项目2   20要把table2的项目名称并到那个查询结果那边去,我试了好多次都不行,
    想得到这个结果:
         项目ID  项目名称   大阶段开始时间  小阶段开始时间   
           10    子项目1      2008-1-1    2008-1-5 
          20    子项目2      2008-1-9    2008-1-12 
      

  3.   

    select a.项目ID, c.项目名称,a.阶段开始时间 as 大阶段开始时间,b.阶段开始时间 as 小阶段开始时间
    from
      (select 项目ID,  阶段ID, 阶段开始时间 from table1 where 阶段名='大') a,
      (select 项目ID,  阶段ID, 阶段开始时间 from table1 where 阶段名='小') b,
      table2 c
    where a.项目ID=b.项目ID
      and a.项目ID=c.项目ID
    此问题过于基础,你有必要看一些基础的书。