2013-04-12 3 views
0

с помощью SQL Server 2008.Обновление поля приращения таблицы

Привет ребята получили этот запрос здесь:

CREATE PROCEDURE [dbo].[GenerateNumbers] 
@pg varchar(255) 
AS 
BEGIN 
DECLARE @Counter as int 
SET @Counter = 0 
UPDATE dbo.paretoMain 

SET @counter = NewPareto = @counter +1 
WHERE PG = @pg 


END 

работает отлично, только я хочу, чтобы это сделать это с помощью определенного порядка 1 столбца. в основном порядок по колонке 1.

Невозможно понять, как любые идеи?

спасибо, ребята!

EDIT:

Ok кажется Я запутанные людей, так что здесь идет.

3 колонки в таблице. 1 называется «newpareto» 1, называемый «Sales» 1, называемый «part». Продажи имеют валюту, часть - варчар. Newpareto пуст.

Я хочу просто 100 номеров для 100 записей (пример), поэтому, когда row1, Newpareto = 1. Этот запрос, который я предоставил, делает это. Однако. 100 записей не отсортированы. Мне нужно, чтобы как-то добавить заказ на то, чтобы заказать по столбцу Sales, чтобы верхние продажи (пример £ 100,00) были в номере Newpareto под номером 1. Какое время лучше?

+0

ли вы имеете в виду, что колонка 1 можно заказать по возрастанию или убыванию, и вы хотите, чтобы следить за порядком, с точки зрения причем по возрастанию или убыванию ? Вы хотите, чтобы увеличить колонку 1? Какие данные содержатся в столбце 1? –

+0

Нет, я хочу поставить цифры 1-100, скажем, в столбце Newpareto. Но порядок должен быть упорядочен фелдом под названием column 1 (фактически называется продажами) – lemunk

+1

Можете ли вы показать пример? Я не понимаю. –

ответ

0

Я считаю, что это может быть то, что вы пытаетесь сделать:

update paretoMain 
set NewPareto=rn 
from (select Sales, row_number() over(order by Sales desc) as rn from paretoMain) as x 
where paretoMain.Sales=x.Sales 
+0

точно, я в конце концов понял это в выходные. Спасибо за помощь. – lemunk

Смежные вопросы