新微赢技术网

标题: 求一个sql的查询语句 [打印本页]

作者: 爱你    时间: 2009-7-9 05:51
标题: 求一个sql的查询语句
我想实现下列表格的搜索,请问应该如何写那种sql语句



A              B               C             D

1            X              (空)           start          ----每个成员第一条记录的c列都是空的,但B列不可能是空;

1          (空)          b          start            ----接下来的这个成员的其他记录的B列都是空的,但C列都不可能是空;

2             Y              (空)         start      ----成员2 的第一条记录

2          (空)           d           start        

2          (空)           e            start                                

3               Z            (空)         start       -----成员3的第一条记录

1            (空)         m              finish

2            (空)          n            finish

3            (空)          o              finish

……

我想选出来的结果是,D列全部都是start状态的的,形式如下:


col1                col2                     col3                   col4
1                     X                    a    b                      start

2                      Y                   c     d     e               start
3                     Z                       (空)             start
……

如果用语言表示,就是col1选出所有A列的状态为start的成员,col2 用来装每个成员的第一条记录的B列(这个不可能是空),col3用来装每个成员除了第一条记录外的所有记录的C列(这些记录的C列不可能是空的,但这些记录的B列一定是空的),特别的是,如果这个成员只有一条记录,如成员“3”,那么选出来的这一列col也是空的(即不能漏了成员只有一条记录的情况)。


我觉得关系好像很复杂似的,我弄不好,尤其是我自己写出来的sql都没有选到只有一条记录的那些情况。

请各位不吝指点一下我。谢谢各位了。
作者: betty    时间: 2010-1-9 16:05
我来自火星刚到地球什么都不懂




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2