SQL Server:使用特定条件插入和更新

时间:2017-01-21 13:49:40

标签: sql function sql-server-2008

这是第一张表:

Table source 
(
     id int,
     accno varchar(50),
     duedate date,
     plafond int,
     customer_name varchar(100),
     bicoll int,
     ccy varchar(5),
     parent_id int
)

这是第二张表:

Table result  
(
    id int,
    accno varchar(50),
    duedate date,
    plafond int,
    customer_name varchar(100),
    bicoll int,
    ccy varchar(5),
    jumlah int
)

从这些表中,我需要使用以下条件向第一个表(源)发出INSERT语句:

  1. 如果plafond< 1000然后由ccy分组,accno =" GRUP1",duedate = null,plafond = SUM(plafond),customer_name =" GRUP1",bicoll = NULL,jumlah = COUNT THE已被分组的行

  2. 如果plafond> = 1000且< 5000个group by customer_name和ccy with due_date = max(duedate),plafond = sum(plafond),bicoll = max(bicoll),jumlah = 计算已被分组的行

  3. 如果plafond> = 5000不分组,那么字段jumlah = 1

  4. 如何撰写此INSERT声明?

    第二个表格与parent_idsource)和idresult)之间存在关系,所以如果我想修改某些内容,我会使用{UPDATE {1}}陈述。

    我正在处理UPDATE声明,但让我感到困惑的是INSERT语句与这些条件

    请帮帮我,好几个星期一直困扰着我。谢谢

1 个答案:

答案 0 :(得分:1)

没有时间进行长时间的回答,但您需要的是基本的SQL SWITCH CASE语句。

有关示例,请参阅this