Koji Matsumura
Posting Yak Master
141 Posts |
Posted - 2008-01-30 : 01:37:05
|
DECLARE @T TABLE (Col1 datetime, Col2 varchar(5), Col3 int)INSERT INTo @T SELECT '1/7/2008', 'RED', 13UNION ALL SELECT '1/8/2008', 'RED', 16UNION ALL SELECT '1/8/2008', 'RED', 6 UNION ALL SELECT '1/9/2008', 'RED', 22UNION ALL SELECT '1/9/2008', 'RED', 10 UNION ALL SELECT '1/7/2008', 'WHITE', 6UNION ALL SELECT '1/7/2008', 'WHITE', 2 UNION ALL SELECT '1/8/2008', 'WHITE', 5UNION ALL SELECT '1/9/2008', 'WHITE', 2UNION ALL SELECT '1/10/2008', 'WHITE', 3UNION ALL SELECT '1/7/2008', 'BLUE', 20UNION ALL SELECT '1/7/2008', 'BLUE', 6 UNION ALL SELECT '1/8/2008', 'BLUE', 11UNION ALL SELECT '1/8/2008', 'BLUE', 5 UNION ALL SELECT '1/9/2008', 'BLUE', 15UNION ALL SELECT '1/9/2008', 'BLUE', 8SELECT A.Col1, A.Col2, B.Col3, CASE WHEN B.Col4 = B.Col3 THEN '' ELSE CONVERT(varchar, B.Col4) ENDFROM (SELECT A.Col1, A.Col2 FROM @T A GROUP BY A.Col1, A.Col2) AINNER JOIN (SELECT A.Col1, A.Col2, Col3 = MIN(A.Col3), Col4 = MAX(A.Col3) FROM @T A GROUP BY A.Col1, A.Col2) B ON B.Col1 = A.Col1 AND B.Col2 = A.Col2ORDER BY CASE A.Col2 WHEN 'RED' THEN 1 WHEN 'WHITE' THEN 2 ELSE 3 END, A.Col1 |
 |
|