1

2 つのテーブルがあります: 顧客 ------>> 出荷

たとえば、各出荷に顧客ごとに一意の番号を付けたい

CustomerID      ShipmentID       ShipmnetNumber
    10              50                  1
    10              51                  2
    10              55                  3

    15              56                  1
    15              57                  2
    15              58                  3

    17              59                  1
    17              60                  2

など...

SQLサーバー2008でどうすればいいですか

4

1 に答える 1

3

クエリで番号付けを取得するには、これを行うことができます

select CustomerID,
       ShipmentID,
       row_number() over(partition by Shipment.CustomerID  
                         order by ShipmentID) as ShipmentNumber
from Shipment

ShipmentNumber (新しく追加された列) でテーブルを更新する場合は、これを行うことができます

;with S as
(
  select ShipmentNumber,
         row_number() over(partition by Shipment.CustomerID  
                           order by ShipmentID) as ShipNum
  from Shipment
)
update S
set ShipmentNumber = ShipNum
于 2011-10-15T19:56:54.170 に答える