2016-07-07 2 views
0

안녕하십니까. 나는 두 개의 테이블이 있고 그들은한 테이블에서 다른 테이블로 데이터 전송 또는 기타 데이터

표입니다

enter image description here

GeneralInventory 표 :이 표에이 형식을보고 당신이 볼 가능성이 가장 높은 수 있듯이

enter image description here

받기 인벤토리 시스템에서 내 표 GeneralInventory은 여기에서 전송할 모든 품목이 여기에서 전송되고 해당 표가 Receiving 인 주 재고입니다. 당신이 테이블에 무엇을 볼 수 Receiving 2 데이터와 그들이 있습니다.

enter image description here

서로 다른 권리 인 RINO 분야에 초점을하세요? 지금 여기에 내가 할 것이며, 또한 나의 질문 프로그램이 표에서 1 (한) 데이터를 선택합니다

  1. (필자는 프로그램의 단계 절차에 의해 단계에서 내 질문을 변환합니다) 무엇 Receiving

  2. 나는 Post라는 버튼을 클릭하고 선택한 RINoItemCode 이미 표 GeneralInventory에있는 경우 프로그램은 다음과

    - 체크를 할 것이고, ItemCode 다음 거기에 이미경우 테이블 Receiving 및 테이블 의 Qty의3210은 합계되거나 그렇지 않으면 데이터를 추가합니다.

내 포인트를 얻길 바랍니다.하지만 그렇지 않다면 추가 예제를 보여 드리겠습니다.

일반에

enter image description here

: 데이터는 다음을 정리해 아니면 새 데이터를 추가 존재하는 경우.

이 코드를 사용하고 있습니다. 미래의 도움말

INSERT INTO GeneralInventory (ItemCode, Qty) 
SELECT RE.ItemCode, RE.ReceivedQty 
FROM Receiving RE LEFT JOIN 
    GeneralInventory GI 
ON GI.ItemCode = RE.ItemCode AND GI.Qty = RE.ReceivedQty 
WHERE RE.RINo = 'Data of RINo' 

UPDATE GeneralInventory GI 
INNER JOIN receiving RE 
    ON GI.ItemCode = RE.ItemCode AND GI.Qty = RE.ReceivedQty 
SET GI.Qty = GI.Qty + RE.ReceivedQty RE.RINo = 'Data of RINo' 

TY

+0

가능한 복제 [존재하는 경우 MySQL의 테이블에 삽입 또는 업데이트 (HTTP : //stackoverflow.com/questions/4205181/insert-into-a-mysql-table-or-update-if-exists) – Shadow

답변

-1

@ 
 
query = select * from GeneralInventory GI 
 
inner join Receiving RE 
 
on GI.ItemCode = RE.ItemCode 
 
where RE.RINo = 'YOUR-VARIABLE' 
 
if (@query) { 
 
    UPDATE GeneralInventory GI INNER JOIN receiving RE ON GI.ItemCode = RE.ItemCode AND GI.Qty = RE.ReceivedQty SET GI.Qty = GI.Qty + RE.ReceivedQty RE.RINo = 'Data of RINo' 
 
} else { 
 
    NSERT INTO GeneralInventory(ItemCode, Qty) SELECT RE.ItemCode, RE.ReceivedQty FROM Receiving RE LEFT JOIN GeneralInventory GI ON GI.ItemCode = RE.ItemCode AND GI.Qty = RE.ReceivedQty WHERE RE.RINo = 'Data of RINo' 
 
}

안녕 사용이 위의 쿼리를 ..

+0

1. 위의 코드 조각은 어떤 언어/구문을 사용합니까? 2. 적절한 인덱스가 정의되어 있으면 위의 작업을 단일 SQL 문에서 수행 할 수 있습니다. – Shadow

+0

@ query = select * from GeneralInventory GI 내부 조인 수신GI에서 .ItemCode = RE.ItemCode RE.RINo = 'YOUR-VARIABLE' if (@query) { 일반 정보 GI INNER JOIN이 RE ON GI를 수신 중입니다 .ItemCode = RE.ItemCode AND GI.Qty = RE.ReceivedQty SET GI.Qty = GI.Qty + RE.ReceivedQty RE.RINo = 'RINo의 데이터' } else { INSERT INTO GeneralInventory (ItemCode, Qty) SELECT RE.ItemCode, RE.ReceivedQty FROM 받기 RE LEFT JOIN 일반 인벤토리 GI ON GI.ItemCode = RE.ItemCode AND GI.Qty = RE.ReceivedQty WHERE RE.RINo = 'RINo의 데이터' } – rajsekar

관련 문제