Select with serial number column

Select with serial number column

am 02.07.2007 10:37:53 von Oonz

Hi Friends,
Help me in retrieving a table with a SNo column

Select Name From SysObjects Where type = 'U' Order By Name asc

the above query would fetch the Table names. as

Name
Table1
Table2
Table3
Table4

i need a view which should also include the serial number

SNo Name
1 Table1
2 Table2
3 Table3
4 Table4

Regards,
ArunDhaJ

Re: Select with serial number column

am 02.07.2007 11:13:42 von Erland Sommarskog

ArunDhaJ (arundhaj@gmail.com) writes:
> Help me in retrieving a table with a SNo column
>
> Select Name From SysObjects Where type = 'U' Order By Name asc
>
> the above query would fetch the Table names. as
>
> Name
> Table1
> Table2
> Table3
> Table4
>
> i need a view which should also include the serial number
>
> SNo Name
> 1 Table1
> 2 Table2
> 3 Table3
> 4 Table4

On SQL 2005:

SELECT name, row_number() OVER(ORDER BY Name)
FROM sysobjects
ORDER BY name

On SQL 2000:

SELECT name, (SELECT COUNT(*) FROM sysobjects b
WHERE a.name <= b.name)
FROM sysobjects
ORDER BY name

On for larger data sets, the performance of the SQL 2000 solution is
so poor that it is about unusual. The alternative is to bounce data over
a temp table with an IDENTITY column.

The SQL 2005 solution has excellent performance.


--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downlo ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books .mspx

Re: Select with serial number column

am 02.07.2007 11:35:51 von Oonz

On Jul 2, 2:13 pm, Erland Sommarskog wrote:
> ArunDhaJ (arund...@gmail.com) writes:
> > Help me in retrieving a table with a SNo column
>
> > Select Name From SysObjects Where type = 'U' Order By Name asc
>
> > the above query would fetch the Table names. as
>
> > Name
> > Table1
> > Table2
> > Table3
> > Table4
>
> > i need a view which should also include the serial number
>
> > SNo Name
> > 1 Table1
> > 2 Table2
> > 3 Table3
> > 4 Table4
>
> On SQL 2005:
>
> SELECT name, row_number() OVER(ORDER BY Name)
> FROM sysobjects
> ORDER BY name
>
> On SQL 2000:
>
> SELECT name, (SELECT COUNT(*) FROM sysobjects b
> WHERE a.name <= b.name)
> FROM sysobjects
> ORDER BY name
>
> On for larger data sets, the performance of the SQL 2000 solution is
> so poor that it is about unusual. The alternative is to bounce data over
> a temp table with an IDENTITY column.
>
> The SQL 2005 solution has excellent performance.
>
> --
> Erland Sommarskog, SQL Server MVP, esq...@sommarskog.se
>
> Books Online for SQL Server 2005 athttp://www.microsoft.com/technet/prodtechnol/sql/2005/down loads/books...
> Books Online for SQL Server 2000 athttp://www.microsoft.com/sql/prodinfo/previousversions/boo ks.mspx- Hide quoted text -
>
> - Show quoted text -

Thanks Erland