0

列として id (主キー)、名前、値、および branchId を持つルックアップ テーブルがあります。現在、branchId がレコード全体で同じである一連のデータがあります。name 列と value 列の値は同じですが、同じテーブルの branchId の値が異なるデータを複製する必要があります。

これを達成するためのクエリ/スクリプトに関するヘルプをいただければ幸いです。

前もって感謝します!

4

3 に答える 3

1

idが の場合IDENTITY、その値は自動的に生成されます。

INSERT INTO tableX                    --- the name of your table
    (name, value, branchID)
SELECT 
    name, value, 23                   --- branch to be added
FROM
    tableX
WHERE
    branchID = 12 ;                   --- the existing branch

branchID 値のセットについてはCROSS、既存のテーブルに結合できます (またはその場で作成できます)。

INSERT INTO tableX                    
    (name, value, branchID)
SELECT 
    t.name, t.value, ins.branchID
FROM
        tableX AS t
    CROSS JOIN
        ( VALUES
            (1), (5), (7), (9), (10)      --- branchIDs to be inserted
        ) AS ins (branchID)
WHERE
    t.branchID = 12 ;                     --- the existing branchID
于 2012-10-08T15:25:29.533 に答える
1
insert into LookupTable
(
    name,
    value,
    branchId
)
select
    name,
    value,
    'BranchId2'
from LookupTable
where branchId = 'BranchId1'
于 2012-10-08T15:27:33.293 に答える
0

これを試して:

SELECT  id, name, value, branchId, 
row_number() over (partition by name, value order by id) new_branch_id 
from tablename
于 2012-10-08T15:19:06.043 に答える