1

我有 3 张桌子。PositionCode、PositionCodeDetail 和服务

服务有 serviceid、desc 和 status

PositionCode有codeid、positioncode、desc、status

PositionCodeDetail 有 positioncodedetailid、serviceid 和 codeid

PositionCodeDetail 基本上是给定位置代码的潜在服务列表。如果现有服务代码为 15,我现在想为每个位置代码添​​加一个新的 serviceid。

基本上每次位置代码的 serviceid 为 15 时,我都想插入一条具有相同 codeid 的新记录并添加 serviceid 为 20。Positioncodedetailid 是自动分配的。

任何帮助,将不胜感激。

4

1 回答 1

1
insert  PositionCodeDetail 
        (serviceid, codeid)
select  20
,       codeid
from    PositionCodeDetail
where   serviceid = 15

使用以下命令对现有行进行额外检查service = 20

insert  PositionCodeDetail 
        (serviceid, codeid)
select  20
,       codeid
from    PositionCodeDetail pcd1
where   serviceid = 15
        and not exists
        (
        select  *
        from    PositionCodeDetail pcd2
        where   pcd1.codeid = pcd2.codeid
                and pcd2.serviceid = 20
        )
于 2013-07-02T15:33:17.607 回答