1

値を行列に分割して行を多くの行に分割する方法はありますか? 私のクエリを実行すると、結果が得られました:

ID TmpShoppingCart_ID StoreSKU_ID QuantityΞΞ Enabled 
26 34                 448         2          True 
27 34                 3465        4          True 
28 34                 3468        1          True 

でも私はしたい:

ID TmpShoppingCart_ID StoreSKU_ID QuantityΞΞ Enabled 
26 34                 448         1          True 
26 34                 448         1          True 
27 34                 3465        1          True 
27 34                 3465        1          True 
27 34                 3465        1          True 
27 34                 3465        1          True 
28 34                 3468        1          True 

それを行うための簡単なシンタックスはありますか?

4

3 に答える 3

0

これは簡単ですか?

begin transaction
declare @rowcount int
set @rowcount = 1

while @rowcount > 0 
begin

    insert into shoppingcart(tmpShoppingCart_id,StoreSKU_Id,Quantity,Enabled)
    select tmShoppingCart_id,StoreSku_id,1,enabled
    from shoppingcart where quantity > 1

    update shoppingcart
    set quantity = quantity - 1
    where quantity > 1

    select @rowcount = @@rowcount

end
commit transaction
于 2013-06-04T13:56:05.740 に答える