Select the product you need help with
Como Numerar linhas dinamicamente em uma instrução Transact-SQL SELECTID do artigo: 186133 - Exibir os produtos aos quais esse artigo se aplica. Nesta páginaSumárioEste artigo descreve como classificar linhas dinamicamente, quando você executa uma instrução SELECT usando um método flexível, que pode ser a solução só é possível e que é mais rápido do que a solução de procedimento. Linha numeração ou classificação é uma questão procedimento típica. As soluções são geralmente baseadas no loops e tabelas temporárias; portanto, eles são baseados no SQL Server loops e cursores. Essa técnica é baseada em uma associação automática. A relação escolhida é geralmente "é maior que". Contagem de quantas vezes cada elemento de um determinado conjunto de dados preenche a relação "é maior que" quando o conjunto é comparado a mesmo. Observação Os exemplos a seguir se baseiam no banco de dados pubs . Por padrão, o banco de dados de exemplo Northwind e banco de dados de exemplo pubs não estiverem instalado no SQL Server 2005. Esses bancos de dados podem ser baixados do Centro de download da Microsoft. Para obter mais informações, visite o seguinte site: http://go.microsoft.com/fwlink/?linkid=30196 Depois de fazer o download SQL2000SampleDb.msi, extraia os scripts de banco de dados de exemplo clicando duas vezes em SQL2000SampleDb.msi. Por padrão, SQL2000SampleDb.msi extrairá os scripts de banco de dados e um arquivo Leiame na seguinte pasta:
(http://go.microsoft.com/fwlink/?linkid=30196)
C:\SQL Server 2000 Sample Databases Siga as instruções no arquivo Leiame para executar os scripts de instalação. Se você estiver usando o SQL Server 2005Recomendamos que você use funções de classificação que são fornecidas como um novo recurso do SQL Server 2005. Para obter mais informações sobre as funções de classificação, visite o seguinte site da Web Microsoft Developer Network (MSDN):http://msdn2.microsoft.com/en-us/library/ms189798.aspx
(http://msdn2.microsoft.com/en-us/library/ms189798.aspx)
Exemplo 1neste exemplo:
Rank Au_Lname Au_Fname
---- -------------- -----------
1 Bennet Abraham
2 Blotchet-Halls Reginald
3 Carson Cheryl
4 DeFrance Michel
5 del Castillo Innes
6 Dull Ann
7 Greene Morningstar
8 Green Marjorie
9 Gringlesby Burt
10 Hunter Sheryl
11 Karsen Livia
12 Locksley Charlene
13 MacFeather Stearns
14 McBadden Heather
15 O'Leary Michael
16 Panteley Sylvia
17 Ringer Albert
18 Ringer Anne
19 Smith Meander
20 Straight Dean
21 Stringer Dirk
22 White Johnson
23 Yokomoto Akiko
(23 row(s) affected)
Exemplo 2Neste exemplo:
Rank Stor_Id Qty ---- ------- --- 1 6380 8 2 7896 120 3 8042 240 4 7067 360 5 7066 625 6 7131 780 (6 row(s) affected) Use o seguinte código no SQL Server 2005. rank stor_id qty ------- ------- ------ 1 7131 130 2 7066 125 3 7067 90 4 8042 80 5 7896 60 6 6380 8 (6 row(s) affected) Exemplo 3Neste exemplo:
Rank Pub_Id Sales ---- ------ -------- 1 0736 1,961.85 2 0877 4,256.20 3 1389 7,760.85 (3 row(s) affected) Use o código a seguir no SQL Server 2005. rank pub_id sales ------- ------ --------- 1 1389 2586.95 2 0877 2128.10 3 0736 1961.85 (3 row(s) affected) Desvantagens
Rank Title_Id Qty ---- -------- ---- 1 MC2222 10 4 BU1032 60 4 BU7832 60 4 PS3333 60 7 PS1372 140 7 TC4203 140 7 TC7777 140 10 BU1111 250 10 PS2106 250 10 PS7777 250 11 PC1035 330 12 BU2075 420 14 MC3021 560 14 TC3218 560 15 PC8888 750 16 PS2091 1728 (16 row(s) affected) Benefícios
Publisher Earnings
------------- --------
0736 : 1,961.85
0877 : 4,256.20
1389 : 7,760.85
publisher earnings
-------------------- ---------------------
0736 : 1961.85
0877 : 2128.10
1389 : 2586.95
(3 row(s) affected)exemplo 2 :
Book Qty
------------------------------------------- ----
MC2222 : 10
BU1032 : 60
BU7832 : 60
PS3333 : 60
PS1372 : 140
TC4203 : 140
TC7777 : 140
BU1111 : 250
PS2106 : 250
PS7777 : 250
PC1035 : 330
BU2075 : 420
MC3021 : 560
TC3218 : 560
PC8888 : 750
PS2091 : 1728
(16 row(s) affected)
Book qty
--------------------------------------------- -----------
MC2222 : 10
BU1032 : 15
BU7832 : 15
PS3333 : 15
TC4203 : 20
TC7777 : 20
PS1372 : 20
BU1111 : 25
PS7777 : 25
PS2106 : 25
PC1035 : 30
BU2075 : 35
MC3021 : 40
TC3218 : 40
PC8888 : 50
PS2091 : 108
(16 row(s) affected)
PropriedadesID do artigo: 186133 - Última revisão: terça-feira, 14 de fevereiro de 2006 - Revisão: 5.4 A informação contida neste artigo aplica-se a:
Tradução automática IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 186133
(http://support.microsoft.com/kb/186133/en-us/
)
| Traduções deste artigo
|




Voltar para o início








