Author |
Topic |
sent_sara
Constraint Violating Yak Guru
377 Posts |
Posted - 2013-05-22 : 18:46:20
|
Hi,Sample Table structure i have:[Code]Declare @Employee table (EmpID varchar(100),EmpName varchar(100),EmpAge varchar(100),EmpStatus varchar(1))insert into @Employeeselect 1,'senthil',32,'A'union allselect 2,'Sasi',40,'A'union allselect 3,'Uma',25,'A'union allselect 4,'Vijay',18,'A'union allselect 5,'Saras',28,'I'select * from @Employeeselect Distinct 'Empid' as ColumnName,EmpId as 'ColumnValue' from @Employeeunion allselect Distinct 'EmpName' as ColumnName,EmpName as 'ColumnValue' from @Employeeunion allselect Distinct 'EmpAge' as ColumnName,EmpAge as 'ColumnValue' from @Employeeunion allselect Distinct 'Empid' as ColumnName,EmpId as 'ColumnValue' from @Employeeunion allselect Distinct 'EmpStatus' as ColumnName,EmpStatus as 'ColumnValue' from @Employeeoutput is :ColumnName ColumnValueEmpid 1Empid 2Empid 3Empid 4Empid 5EmpName SarasEmpName SasiEmpName senthilEmpName UmaEmpName VijayEmpAge 18EmpAge 25EmpAge 28EmpAge 32EmpAge 40Empid 1Empid 2Empid 3Empid 4Empid 5EmpStatus AEmpStatus I[/code]Any other better way to tune this query instead of union all statment.this is sample query i have created in real time it goes some millions of record. |
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2013-05-23 : 00:30:22
|
[code]Declare @Employee table (EmpID varchar(100),EmpName varchar(100),EmpAge varchar(100),EmpStatus varchar(1))insert into @Employeeselect 1,'senthil',32,'A'union allselect 2,'Sasi',40,'A'union allselect 3,'Uma',25,'A'union allselect 4,'Vijay',18,'A'union allselect 5,'Saras',28,'I'select * from (SELECT EmpID,EmpName,EmpAge,CAST(EmpStatus AS varchar(100)) AS EmpStatus FROM @Employee)eunpivot (columnvalue FOR columnname IN (EmpID,EmpName,EmpAge,EmpStatus))uORDER BY columnname,columnvalueoutput----------------------------------------columnvalue columnname18 EmpAge25 EmpAge28 EmpAge32 EmpAge40 EmpAge1 EmpID2 EmpID3 EmpID4 EmpID5 EmpIDSaras EmpNameSasi EmpNamesenthil EmpNameUma EmpNameVijay EmpNameA EmpStatusA EmpStatusA EmpStatusA EmpStatusI EmpStatus[/code]------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/https://www.facebook.com/VmBlogs |
 |
|
sent_sara
Constraint Violating Yak Guru
377 Posts |
Posted - 2013-05-23 : 02:30:42
|
thanks visakh this is what i expectedquote: Originally posted by visakh16
Declare @Employee table (EmpID varchar(100),EmpName varchar(100),EmpAge varchar(100),EmpStatus varchar(1))insert into @Employeeselect 1,'senthil',32,'A'union allselect 2,'Sasi',40,'A'union allselect 3,'Uma',25,'A'union allselect 4,'Vijay',18,'A'union allselect 5,'Saras',28,'I'select * from (SELECT EmpID,EmpName,EmpAge,CAST(EmpStatus AS varchar(100)) AS EmpStatus FROM @Employee)eunpivot (columnvalue FOR columnname IN (EmpID,EmpName,EmpAge,EmpStatus))uORDER BY columnname,columnvalueoutput----------------------------------------columnvalue columnname18 EmpAge25 EmpAge28 EmpAge32 EmpAge40 EmpAge1 EmpID2 EmpID3 EmpID4 EmpID5 EmpIDSaras EmpNameSasi EmpNamesenthil EmpNameUma EmpNameVijay EmpNameA EmpStatusA EmpStatusA EmpStatusA EmpStatusI EmpStatus ------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/https://www.facebook.com/VmBlogs
|
 |
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2013-05-23 : 02:35:27
|
welcome------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/https://www.facebook.com/VmBlogs |
 |
|
sent_sara
Constraint Violating Yak Guru
377 Posts |
Posted - 2013-05-23 : 21:31:55
|
HiEmpStatus is duplicated. for me only the distinct records should come.can i know how to acheive this.now its coming as:
A EmpStatusA EmpStatusA EmpStatusA EmpStatusI EmpStatus expected is:A EmpStatusI EmpStatus quote: Originally posted by visakh16
Declare @Employee table (EmpID varchar(100),EmpName varchar(100),EmpAge varchar(100),EmpStatus varchar(1))insert into @Employeeselect 1,'senthil',32,'A'union allselect 2,'Sasi',40,'A'union allselect 3,'Uma',25,'A'union allselect 4,'Vijay',18,'A'union allselect 5,'Saras',28,'I'select * from (SELECT EmpID,EmpName,EmpAge,CAST(EmpStatus AS varchar(100)) AS EmpStatus FROM @Employee)eunpivot (columnvalue FOR columnname IN (EmpID,EmpName,EmpAge,EmpStatus))uORDER BY columnname,columnvalueoutput----------------------------------------columnvalue columnname18 EmpAge25 EmpAge28 EmpAge32 EmpAge40 EmpAge1 EmpID2 EmpID3 EmpID4 EmpID5 EmpIDSaras EmpNameSasi EmpNamesenthil EmpNameUma EmpNameVijay EmpNameA EmpStatusA EmpStatusA EmpStatusA EmpStatusI EmpStatus ------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/https://www.facebook.com/VmBlogs
|
 |
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2013-05-24 : 00:24:40
|
[code]select DISTINCT columnname,columnvaluefrom (SELECT EmpID,EmpName,EmpAge,CAST(EmpStatus AS varchar(100)) AS EmpStatus FROM @Employee)eunpivot (columnvalue FOR columnname IN (EmpID,EmpName,EmpAge,EmpStatus))uORDER BY columnname,columnvalue[/code]------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/https://www.facebook.com/VmBlogs |
 |
|
|
|
|