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의 각 직원이 수행 한 배달 수를 표 -1의 Emp_Deliveries 필드에 추가하고 싶습니다. 예를 들어, Emp10001은 Emp_Deliveries fielld I table-1에 3의 값을 가지고 있으며 이제는 테이블 2에서 사용할 수있는 2 개의 주문을 배달했습니다.이 2를 표 1의 Emp_Deliveries 필드에 추가하려고합니다. 이 시나리오에서 나를 도울 수 있습니까?

+0

Table-2의 주문이 이미 Emp-Deliveries 값에 추가되지 않았는지 어떻게 결정합니까? – 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

안녕하세요 고든 귀하의 솔루션에 많은 감사드립니다. 잘 작동합니다. 하지만 여기에는 작은 문제가 있습니다. t1.Emp_ID = t2.Emp_ID 일 때 table-1의 (Emp_Deliveries)에 table-2의 필드 (Product_Count) 값을 추가하여 table-1을 갱신 할 수 있습니까? 사전에 많은 감사드립니다. – Subash

+0

@Subash. . . table2에 product count 필드가 있다면'count (*)'대신'sum (product_count)'를 사용하십시오. –

+0

안녕하세요 고든 .. 나는 당신이 제안한 길을 시도했지만 실패했습니다. 사실 Table-2의 Product_Count는 직원 당입니다. 예를 들어 한 직원이 한 번에 두 제품을 배달 할 수 있습니다. 따라서 직원이 제공 한 제품 추가 (Add No) 솔루션을 찾고 테이블 1의 기존 제품에 추가하십시오. – Subash

관련 문제