Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.databases.ms-sqlserver > #200

Re: Help needed to write a qury

From Erland Sommarskog <esquel@sommarskog.se>
Newsgroups comp.databases.ms-sqlserver
Subject Re: Help needed to write a qury
Date 2011-04-24 21:51 +0200
Organization Erland Sommarskog
Message-ID <Xns9ED1DE4FB98A7Yazorman@127.0.0.1> (permalink)
References <95071489-1d30-4d5b-b075-aa465d7b654c@x37g2000prb.googlegroups.com>

Show all headers | View raw


Dinesh (dinesht15@gmail.com) writes:
> Now I want to find out all the transfers from one department to
> another for all the employess with their old and new department
> along with their allocation and trasfer date.
> I want my result like this.
> 
> EMPID     EMPName            OldDeptID   NewDeptID
> AllocationDate   TransferDate
> 1        Ajay          1        2            01/01/2005       04/10/2005
> 1        Ajay          2        3            04/10/2005       09/22/2005
> 1        Ajay          3        1            09/22/2005       07/25/2008
> 1        Ajay          1        5            07/25/2008       03/15/2010
> 
> 2        John          2        1            01/10/2008       03/15/2009
> 2        John          1        4            03/15/2009       02/23/2010
> 2        John          4        3            02/23/2010       04/20/2011
> 
> 3        Kate          3        4            01/11/2007       03/16/2008
> 3        Kate          4        2            03/16/2008       02/24/2009
> 3        Kate          2        1            02/24/2009       04/21/2010
 
WITH numbered AS (
   SELECT EmpID, EmpName, DepartmentID, AllocationDate,
          rowno = row_number() OVER(PARTITION BY EmpID 
                                    ORDER BY AllocationDate)
)
SELECT a.EmpID, a.EmpName, a.DepartmentID AS OldDeptID,
       b.DepartmentID AS NewDeptID, a.AllocationDate,
       b.AllocationDate AS TransferDate
FROM   numbered a
JOIN   numbered b ON b.rowno = a.rowno +1
ORDER  BY a.EmpId, a.rowno

Fred who posted the other solution should take notice. The row_number
function, added in SQL 2005, is much more efficient in numbering the rows 
than using a subquery.

  


-- 
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Links for SQL Server Books Online:
SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx

Back to comp.databases.ms-sqlserver | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Help needed to write a qury Dinesh <dinesht15@gmail.com> - 2011-04-24 10:26 -0700
  Re: Help needed to write a qury "Fred." <ghrno-google@yahoo.com> - 2011-04-24 12:27 -0700
  Re: Help needed to write a qury Erland Sommarskog <esquel@sommarskog.se> - 2011-04-24 21:51 +0200
    Re: Help needed to write a qury Henk van den Berg <hvandenberg@xs4all.nl> - 2011-04-25 06:50 +0200
      Re: Help needed to write a qury Erland Sommarskog <esquel@sommarskog.se> - 2011-04-25 10:14 +0200
        Re: Help needed to write a qury Henk van den Berg <hvandenberg@xs4all.nl> - 2011-04-25 11:52 +0200
          Re: Help needed to write a qury Erland Sommarskog <esquel@sommarskog.se> - 2011-04-25 15:30 +0200
            Re: Help needed to write a qury Erland Sommarskog <esquel@sommarskog.se> - 2011-04-25 15:31 +0200
              Re: Help needed to write a qury Henk van den Berg <hvandenberg@xs4all.nl> - 2011-04-25 16:29 +0200
              Re: Help needed to write a qury "Fred." <ghrno-google@yahoo.com> - 2011-04-25 11:41 -0700
                Re: Help needed to write a qury Erland Sommarskog <esquel@sommarskog.se> - 2011-04-25 23:18 +0200
                Re: Help needed to write a qury Dinesh <dinesht15@gmail.com> - 2011-04-26 01:58 -0700
    Re: Help needed to write a qury "Fred." <ghrno-google@yahoo.com> - 2011-04-25 06:28 -0700
    Re: Help needed to write a qury Lennart Jonsson <erik.lennart.jonsson@gmail.com> - 2011-04-25 17:44 +0200
      Re: Help needed to write a qury Erland Sommarskog <esquel@sommarskog.se> - 2011-05-25 00:01 +0200
        Re: Help needed to write a qury Lennart Jonsson <erik.lennart.jonsson@gmail.com> - 2011-05-25 21:15 +0200
  Re: Help needed to write a qury --CELKO-- <jcelko212@earthlink.net> - 2011-05-26 06:19 -0700

csiph-web