2013-08-28 4 views
0

Прежде всего большое спасибо всем, кто пытается решить многие проблемы во всем мире. Теперь у меня тоже есть небольшая проблема, и я надеюсь, что на нее можно легко ответить.Добавление значения поля в таблицу к значению в другой таблице

У меня есть 2 таблицы, как показано ниже.

**Table-1** 
Emp_ID 
Emp_Name 
Emp_Address 
Emp_Deliveries 

**Table-2** 
Order_ID 
Order_Date 
Emp_ID 
Delivery_Date 
Delivery_Status 

Таблица 2 Содержит всю информацию о поставках, а таблица-1 содержит основные данные сотрудника. Теперь я хочу добавить количество поставок, сделанных каждым сотрудником в таблице 2, в поле Emp_Deliveries в таблице 1. Для примера Emp10001 имеет значение 3 в Emp_Deliveries fielld I table-1, и теперь он выполнил два заказа, которые доступны в таблице 2, я хочу добавить эти 2 в поле Emp_Deliveries в таблице-1. Не могли бы вы помочь мне с этим сценарием.

+0

Как вы определяете, не были ли добавлены заказы в таблице 2 уже к значению Emp-Delivery? – mustaccio

+0

В таблице-2 содержится только информация о свежих поставках. Это временная таблица, которая будет немедленно заархивирована после этого добавления. – Subash

ответ

1

Вы можете сделать это как select:

select e.emp_id, (e.emp_deliveries + coalesce(d.cnt, 0)) as emp_deliveries 
from table1 e left outer join 
    (select emp_id, count(*) as cnt 
     from table2 d 
     group by emp_id 
    ) d 
    on e.emp_id = d.emp_id; 

Если вы действительно хотите обновить значения:

update table1 
    set emp_deliveries = (emp_deliveries + 
          (select count(*) 
          from table2 
          where table2.emp_id = table1.emp_id 
         )); 

Есть другие способы выражения этих запросов (особенно второй). Но это стандартный SQL, поэтому он должен работать в любой базе данных.

+0

Привет, Гордон Большое спасибо за ваше решение. Он работает нормально. Но у меня здесь небольшая проблема. Возможно ли обновить таблицу-1, добавив значение поля (Product_Count) в таблице от 2 до (Emp_Deliveries) в таблице-1, когда t1.Emp_ID = t2.Emp_ID. Спасибо заранее. – Subash

+0

@ Субаш. , , Если у вас есть поле количества товаров в таблице2, используйте 'sum (product_count)' вместо 'count (*)'. –

+0

Привет, Гордон. Я пробовал так, как вы предлагали, но с провалом. Фактически Product_Count в таблице-2 на одного сотрудника. Например, сотрудник может доставить 2 продукта за одну доставку. Поэтому я ищу решение для добавления продуктов, поставляемых сотрудником, и добавление к существующим в таблице-1. – Subash