there is a table having two columns no and name
and the data is
1 A
2 B
3 C
write a query that will result a horizontal output
A,B,C
Answers were Sorted based on User's Feedback
Answer / utsav
declare @tst varchar(max)
set @tst=''
select @tst=@tst+col+',' from table
select @tst
there is a twist, if col contains any null value then this
query will return null. use isnull(col,'') in that case
| Is This Answer Correct ? | 5 Yes | 1 No |
Answer / kumar.t
1. First To create the following table.
Create table NewNew(sno int identity(1,1) primary key,
names varchar(100))
2. To INsert the record one by one
Insert Into NewNew Values ('A')
Insert Into NewNew Values ('B')
Insert Into NewNew Values ('C')
Insert Into NewNew Values ('D')
Insert Into NewNew Values ('F')
3. To view the records first
Select * From NEwNew
4. To create the following procedure
Create Proc New1
As
Begin
Declare @names varchar(100)
Declare @sQuery Varchar(7000)
Declare @sQuery1 Varchar(1000)
Declare @ans varchar(8000)
Declare @i int
Declare cur cursor for select names from newnew
Open cur
Set @i = 1
Set @sQuery1 = ''
Set @sQuery = ''
fetch next from cur into @names
While @@fetch_status=0
Begin
Set @sQuery1 = '(Select Top 1 names
from newnew where names in (select top '+ convert(varchar
(3),@i) +' names From newnew order by 1 Asc) order by 1
Desc) As names,'
Set @sQuery = @squery + @squery1
Set @i = @i + 1
Fetch next from cur into @names
End
Set @ans = Convert(varchar(6),'Select ') +
Left(@sQuery,Len(@sQuery)-1)
Exec (@ans)
Close cur
deallocate cur
End
5. To execute the procedure
now to view the output Ok
Exec New1
By
Kumar.T
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / miller
try using Pivot. for details follow the link
http://msdn.microsoft.com/en-us/library/ms177410.aspx link
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / rajesh.a
declare @res varchar(max)
set @res=''
select @res=@res+name+',' from table
select @res=substring(@res,1,len-1)
print @res
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / piyush sachan
DECLARE @List VARCHAR(8000)
SELECT @List = ISNULL(@List + ',', '') +names
FROM NewNew
SELECT @List
Orrrrrr
DECLARE @List VARCHAR(8000)
SELECT @List = COALESCE(@List + ',', '') +names
FROM NewNew
SELECT @List
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / senthil kumar murugan
;WITH ABC (no, name) AS
(
SELECT 1, CAST('' AS VARCHAR(8000))
UNION ALL
SELECT B.no + 1, B.name + A.name + ', '
FROM (
SELECT Row_Number() OVER (ORDER BY no) AS no, name FROM
emp1) A
INNER JOIN ABC B ON A.no = B.no
)
SELECT TOP 1 name FROM ABC ORDER BY no DESC
| Is This Answer Correct ? | 1 Yes | 2 No |
Answer / kumar.t
Hello Mr.B
In my table contain 100 record is there. at present what
you are doing?
| Is This Answer Correct ? | 0 Yes | 2 No |
Answer / b
Select case when 1 then 'A'
when 2 then 'B'
when 3 then 'C' end as Name from tablename
| Is This Answer Correct ? | 0 Yes | 3 No |
What are different type of Collation Sensitivity?
How to integrate the ssrs reports in application?
How to select true false based on column value in sql server?
What are data resources?
what is package configuration variable?How to change file name in folder dynamically?Plz help me
Why do we use non clustered index?
What is the Control Flow in SSIS
How can we Use Linked Server? Uses of Linked server
What is the system function to get the current user's user id?
What are different types of collation sensitivity?
how many instance use in sql server 2005
How to change server name in sql server?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)