|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2008-03-12 : 08:01:07
|
[code]-- Prepare sample dataDECLARE @Sample TABLE ( Make VARCHAR(4), Model VARCHAR(2), Derivative VARCHAR(3), Term TINYINT, Miles SMALLINT, Maint TINYINT, CH SMALLINT, PCH SMALLINT )INSERT @SampleSELECT 'AUDI', 'A4', 'TDI', 2, 10000, 1, 100, 110 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 2, 10000, 0, 200, 210 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 2, 20000, 1, 300, 310 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 2, 20000, 0, 400, 410 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 2, 30000, 1, 500, 510 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 2, 30000, 0, 600, 610 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 3, 10000, 1, 700, 710 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 3, 10000, 0, 800, 810 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 3, 20000, 1, 900, 910 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 3, 20000, 0, 950, 955 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 3, 30000, 1, 975, 980 UNION ALLSELECT 'AUDI', 'A4', 'TDI', 3, 30000, 0, 985, 990-- SolutionSELECT Make, Model, Derivative, MAX(CASE WHEN Term = 2 AND Miles = 10000 AND Maint = 1 THEN CH ELSE NULL END) AS [2Year10kMaintainedCH], MAX(CASE WHEN Term = 2 AND Miles = 10000 AND Maint = 0 THEN CH ELSE NULL END) AS [2Year10kNotMaintainedCH], MAX(CASE WHEN Term = 2 AND Miles = 20000 AND Maint = 1 THEN CH ELSE NULL END) AS [2Year20kMaintainedCH], MAX(CASE WHEN Term = 2 AND Miles = 20000 AND Maint = 0 THEN CH ELSE NULL END) AS [2Year20kNotMaintainedCH], MAX(CASE WHEN Term = 2 AND Miles = 30000 AND Maint = 1 THEN CH ELSE NULL END) AS [2Year30kMaintainedCH], MAX(CASE WHEN Term = 2 AND Miles = 30000 AND Maint = 0 THEN CH ELSE NULL END) AS [2Year30kNotMaintainedCH], MAX(CASE WHEN Term = 3 AND Miles = 10000 AND Maint = 1 THEN CH ELSE NULL END) AS [3Year10kMaintainedCH], MAX(CASE WHEN Term = 3 AND Miles = 10000 AND Maint = 0 THEN CH ELSE NULL END) AS [3Year10kNotMaintainedCH], MAX(CASE WHEN Term = 3 AND Miles = 20000 AND Maint = 1 THEN CH ELSE NULL END) AS [3Year20kMaintainedCH], MAX(CASE WHEN Term = 3 AND Miles = 20000 AND Maint = 0 THEN CH ELSE NULL END) AS [3Year20kNotMaintainedCH], MAX(CASE WHEN Term = 3 AND Miles = 30000 AND Maint = 1 THEN CH ELSE NULL END) AS [3Year30kMaintainedCH], MAX(CASE WHEN Term = 3 AND Miles = 30000 AND Maint = 0 THEN CH ELSE NULL END) AS [3Year30kNotMaintainedCH], MAX(CASE WHEN Term = 2 AND Miles = 10000 AND Maint = 1 THEN CH ELSE NULL END) AS [2Year10kMaintainedPCH], MAX(CASE WHEN Term = 2 AND Miles = 10000 AND Maint = 0 THEN PCH ELSE NULL END) AS [2Year10kNotMaintainedPCH], MAX(CASE WHEN Term = 2 AND Miles = 20000 AND Maint = 1 THEN PCH ELSE NULL END) AS [2Year20kMaintainedPCH], MAX(CASE WHEN Term = 2 AND Miles = 20000 AND Maint = 0 THEN PCH ELSE NULL END) AS [2Year20kNotMaintainedPCH], MAX(CASE WHEN Term = 2 AND Miles = 30000 AND Maint = 1 THEN PCH ELSE NULL END) AS [2Year30kMaintainedPCH], MAX(CASE WHEN Term = 2 AND Miles = 30000 AND Maint = 0 THEN PCH ELSE NULL END) AS [2Year30kNotMaintainedPCH], MAX(CASE WHEN Term = 3 AND Miles = 10000 AND Maint = 1 THEN PCH ELSE NULL END) AS [3Year10kMaintainedPCH], MAX(CASE WHEN Term = 3 AND Miles = 10000 AND Maint = 0 THEN PCH ELSE NULL END) AS [3Year10kNotMaintainedPCH], MAX(CASE WHEN Term = 3 AND Miles = 20000 AND Maint = 1 THEN PCH ELSE NULL END) AS [3Year20kMaintainedPCH], MAX(CASE WHEN Term = 3 AND Miles = 20000 AND Maint = 0 THEN PCH ELSE NULL END) AS [3Year20kNotMaintainedPCH], MAX(CASE WHEN Term = 3 AND Miles = 30000 AND Maint = 1 THEN PCH ELSE NULL END) AS [3Year30kMaintainedPCH], MAX(CASE WHEN Term = 3 AND Miles = 30000 AND Maint = 0 THEN PCH ELSE NULL END) AS [3Year30kNotMaintainedPCH]FROM @SampleGROUP BY Make, Model, DerivativeORDER BY Make, Model, Derivative[/code] E 12°55'05.25"N 56°04'39.16" |
 |
|