Вставка или обновление 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