SQL Cube4
SQL
Download (.zip)
use pubs go
IF EXISTS (SELECT * FROM sysobjects WHERE name='automobile_sales_detail' and type='U') drop table automobile_sales_detail go
IF EXISTS (SELECT * FROM sysobjects WHERE name='auto_cube' and type='V') drop view auto_cube go
create table automobile_sales_detail ( rowid int not null identity , model char(6) not null , year smallint not null check (year between 1985 and 2000), color char(5) not null, units_sold int not null ) go
-- insert automobile_sales_detail values ('Chevy',1990,'Red',5) -- insert automobile_sales_detail values ('Chevy',1990,'White',87) -- insert automobile_sales_detail values ('Chevy',1990,'Blue',62) insert automobile_sales_detail values ('Chevy',1991,'Red',54) insert automobile_sales_detail values ('Chevy',1991,'White',95) insert automobile_sales_detail values ('Chevy',1991,'Blue',49) insert automobile_sales_detail values ('Chevy',1992,'Red',31) insert automobile_sales_detail values ('Chevy',1992,'White',54) insert automobile_sales_detail values ('Chevy',1992,'Blue',71) -- insert automobile_sales_detail values ('Ford',1990,'Red',64) insert automobile_sales_detail values ('Ford',1990,'White',62) insert automobile_sales_detail values ('Ford',1990,'Blue',63) -- insert automobile_sales_detail values ('Ford',1991,'Red',52) insert automobile_sales_detail values ('Ford',1991,'White',9) insert automobile_sales_detail values ('Ford',1991,'Blue',55) -- insert automobile_sales_detail values ('Ford',1992,'Red',27) insert automobile_sales_detail values ('Ford',1992,'White',62) insert automobile_sales_detail values ('Ford',1992,'Blue',39) go
select * from automobile_sales_detail go
select sum(units_sold),model,year,color from automobile_sales_detail group by model,year,color go
select sum(units_sold),model,year,color from automobile_sales_detail group by model,year,color with cube go
select sum(units_sold),model,year,color from automobile_sales_detail group by model,year,color with rollup go
create view auto_cube (units, model, year, color) as select sum(units_sold),isnull(model,'ALL'),isnull(convert(char(4),year),'ALL'), isnull(color,'ALL') from automobile_sales_detail group by model,year,color with cube go
select * from auto_cube go
select * from auto_cube where model='Chevy' and color='ALL' and year='1993' go
|