Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
ashishkukreja
Starting Member
16 Posts |
Posted - 2007-08-27 : 02:10:26
|
| I am working in SQL Server 2005I have one table naming Entry_FormWhere I have columns ID -------- Name --------- Date ---------- Outlet1 -------- Gaurav --------- 07/07/2007 ---------- Paradise2 -------- Manish --------- 05/07/2007 ---------- Taj 3 -------- Gaurav --------- 17/07/2007 ---------- 5 Star4 -------- Manish --------- 15/07/2007 ---------- Maharani5 -------- Ashish --------- 18/07/2007 ---------- Green Field6 -------- Gaurav --------- 19/07/2007 ---------- Paradise7 -------- Manish --------- 28/07/2007 ---------- Taj8 -------- Ashish --------- 21/07/2007 ---------- Green Field9 -------- Ashish --------- 01/07/2007 ---------- Green Field10 -------- Gaurav --------- 25/07/2007 ---------- 5 StarNow what I want I required a query where I required a fields like thatOutlet-----------Date1--------Date2---------Date3-----------Date4Green Field ---18/07/2007---21/07/2007-----01/07/2007-------NullTaj------------05/07/2007---28/07/2007--------Null----------Null5 Star---------17/07/2007---25/07/2007--------Null----------NullParadise-------07/07/2007---19/07/2007--------Null----------NullMaharani-------15/07/2007-----Null------------Null----------NullSomething like that please help in thisPleaseThanksAshishYou Have to Loss Many Times to Win Single Time |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2007-08-27 : 02:20:35
|
| Read about Cross-tab Reports in sql server help fileMadhivananFailing to plan is Planning to fail |
 |
|
|
ashishkukreja
Starting Member
16 Posts |
Posted - 2007-08-27 : 02:27:17
|
| Thanks for replyI will try thisYou Have to Loss Many Times to Win Single Time |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-08-27 : 04:09:25
|
[code]-- Prepare sample dataDECLARE @Sample TABLE (ID INT, Name VARCHAR(6), Date SMALLDATETIME, Outlet VARCHAR(11))SET DATEFORMAT DMYINSERT @SampleSELECT 1, 'Gaurav', '07/07/2007', 'Paradise' UNION ALLSELECT 2, 'Manish', '05/07/2007', 'Taj' UNION ALLSELECT 3, 'Gaurav', '17/07/2007', '5 Star' UNION ALLSELECT 4, 'Manish', '15/07/2007', 'Maharani' UNION ALLSELECT 5, 'Ashish', '18/07/2007', 'Green Field' UNION ALLSELECT 6, 'Gaurav', '19/07/2007', 'Paradise' UNION ALLSELECT 7, 'Manish', '28/07/2007', 'Taj' UNION ALLSELECT 8, 'Ashish', '21/07/2007', 'Green Field' UNION ALLSELECT 9, 'Ashish', '01/07/2007', 'Green Field' UNION ALLSELECT 10, 'Gaurav', '25/07/2007', '5 Star'-- Stage the data;WITH Yak (ID, Name, Date, Outlet, RecID)AS ( SELECT ID, Name, Date, Outlet, ROW_NUMBER() OVER (PARTITION BY Outlet ORDER BY ID) FROM @Sample)-- Show the expected outputSELECT Outlet, MAX(CASE WHEN RecID = 1 THEN Date END) AS Date1, MAX(CASE WHEN RecID = 2 THEN Date END) AS Date2, MAX(CASE WHEN RecID = 3 THEN Date END) AS Date3, MAX(CASE WHEN RecID = 4 THEN Date END) AS Date4FROM YakWHERE RecID BETWEEN 1 AND 4GROUP BY OutletORDER BY Outlet[/code] E 12°55'05.25"N 56°04'39.16" |
 |
|
|
ashishkukreja
Starting Member
16 Posts |
Posted - 2007-08-27 : 07:12:57
|
| Thanks brothers for such a nice explanationThankyou very muchYou Have to Loss Many Times to Win Single Time |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-08-27 : 07:16:19
|
This staging would be enough-- Stage the data;WITH Yak (Date, Outlet, RecID)AS ( SELECT Date, Outlet, ROW_NUMBER() OVER (PARTITION BY Outlet ORDER BY ID) FROM @Sample) E 12°55'05.25"N 56°04'39.16" |
 |
|
|
|
|
|
|
|