Вставка или обновление SQL по отношению к конкретному столбцу

Моя таблица заказов

**O_ID            Emp_ID          Bill**
-------------------------------------------
1                  1                20
2                  1                20
3                  2                10
4                  3                20
5                  2                10

я хочу вставить данные в таблицу Билла, как в отношении EmpID

**Bill_ID      Emp_ID   TotalBill**
-------------------------------------------
1                  1                40
2                  2                20
3                  3                20

но когда новая строка добавляется в таблицу заказов

 **O_ID            Emp_ID          Bill**
    -------------------------------------------
    1                  1                20
    2                  1                20
    3                  2                10
    4                  3                20
    5                  2                10
    6                  3                50

обновленная таблица Билла должна быть как

**Bill_ID      Emp_ID   TotalBill**
-------------------------------------------
1                  1                40
2                  2                20
3                  3                70

я хочу вставить или обновить запрос.

2 ответа

Все, что вам нужно, это простой вид со следующим

Create view total_bill
as
select emp_id, sum(bill) as bill from Order
group by emp_id

Сначала нужно проверить, существует строка или нет. Если существует, обновите или выполните операцию вставки.

IF NOT EXISTS ( SELECT 1 FROM Bill WHERE Bill_ID = 1 AND EMP_ID= 1 )
BEGIN
INSERT statement
END
ELSE
BEGIN
UPDATE statement
END
Другие вопросы по тегам