For example
Table 1
John 18
Peter 18
David 18
Now I want an sql query that when executed will return a field that
looks like this
Query1
John Peter David
So basically it will return one record with all the name in one fieldHere is the answer for your question
select a.column1,
(select column2 from table where column1=a.column1),
(select column2 from table where column1=a.column1),
(select column2 from table where column1=a.column1)
from Table1 a
You need to have a single column in your table which can build
recursive relation.|||Thanks for replying but I am getting the following error "single-row
subquery returns more than one row "|||Refer this
http://sqljunkies.com/WebLog/amacha...px?Pending=true
Madhivanan|||Terren (calmdownnumber12@.gmail.com) writes:
> Is there a way to create one field from multiple records using sql.
> For example
> Table 1
> John 18
> Peter 18
> David 18
> Now I want an sql query that when executed will return a field that
> looks like this
> Query1
> John Peter David
> So basically it will return one record with all the name in one field
If you are on SQL 2000, you need to run a cursor over the table. There
is no defined method that gives you the result in a single statement.
You do things like SELECT @.x = @.x + col FORM tbl, but the correct result of
this operation is undefined, so you cannot be sure on what you get.
On SQL 2005, you can use the XML stuff to get there. Here is a
sample query for the Northwind database:
select CustomerID,
substring(OrdIdList, 1, datalength(OrdIdList)/2 - 1)
-- strip the last ',' from the list
from
Customers c cross apply
(select convert(nvarchar(30), OrderID) + ',' as [text()]
from Orders o
where o.CustomerID = c.CustomerID
order by o.OrderID
for xml path('')) as Dummy(OrdIdList)
go
--
Erland Sommarskog, SQL Server MVP, esquel@.sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pr...oads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodin...ions/books.mspx
No comments:
Post a Comment