Resources Up

create table #Person (personID int, FirstName varchar(20), LastName varchar(20),
Phone varchar(12), Age int)

insert #Person values(1, 'first1', 'last1', 'phone1', 1)
insert #Person values(2, 'first2', 'last2', 'phone2', 2)

Select case when 
	grouping(personid) = 0 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 1
		then 'PersonID'
	when 
	grouping(personid) = 1 And Grouping(firstname) = 0 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 1
		then 'FirstName'
	when 
	grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 0 And grouping(phone) = 1 And
	Grouping(age) = 1
		then 'LastName'
	when 
	grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 0 And
	Grouping(age) = 1
		then 'Phone'
	when 
	grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 0
		then 'Age'
	end as FieldName,
	case when 
	grouping(personid) = 0 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 1
		then ltrim(str(personid))
	when 
	grouping(personid) = 1 And Grouping(firstname) = 0 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 1
		then firstname
	when 
	grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 0 And grouping(phone) = 1 And
	Grouping(age) = 1
		then LastName
	when 
	grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 0 And
	Grouping(age) = 1
		then Phone
	when 
	grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 0
		then Ltrim(Str(Age))
	end as FieldValue
from #Person 
group by personid, firstname, lastname, phone, age
with cube
having (grouping(personid) = 0 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 1)
	or
	(grouping(personid) = 1 And Grouping(firstname) = 0 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 1)
	or
	(grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 0 And grouping(phone) = 1 And
	Grouping(age) = 1)
	or
	(grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 0 And
	Grouping(age) = 1)
	or
	(grouping(personid) = 1 And Grouping(firstname) = 1 And 
	Grouping(lastname) = 1 And grouping(phone) = 1 And
	Grouping(age) = 0)
This page was last updated on May 01, 2006 04:28 PM.