代码之家  ›  专栏  ›  技术社区  ›  stackoverflowuser

t-sql自连接帮助

  •  0
  • stackoverflowuser  · 技术社区  · 15 年前

    根据下表

    ID  Date         State 
    -----------------------------
    1   06/10/2010   Complete
    1   06/04/2010   Pending
    2   06/06/2010   Active   
    2   06/05/2010   Pending
    

    ID  Date         State 
    ---------------------------
    1   06/04/2010   Complete
    2   06/05/2010   Active
    

    所以日期是最早的,州是最晚的。我无法在表上应用自联接来获取输出。

    谢谢

    2 回复  |  直到 15 年前
        1
  •  1
  •   OMG Ponies    15 年前

    用途:

      SELECT t.id,
             MIN(t.date),
             (SELECT TOP 1
                     x.state
                FROM TABLE x
               WHERE x.id = t.id
            ORDER BY x.date DESC)
        FROM TABLE t
    GROUP BY t.id
    
        2
  •  0
  •   Khorkrak    15 年前
    select ID, min(Date) Date, (select State 
                                  from tbl
                                 where ID = t.ID and
                                       Date = (select max(Date) 
                                                 from tbl
                                                where ID = t.ID)) State
      from tbl t
     group by ID