2016-07-07 2 views
0

Добрый день. У меня есть две таблицы, и ониПередача данных из одной таблицы в другую или обновление данных

Таблица: GeneralInventory

enter image description here

и в таблице: Прием

enter image description here

Как вы можете видеть эти форматы на таблице, скорее всего, вы увидите, в Системе инвентаризации, Моя таблица GeneralInventory - это основная инвентаризация, в которой все элементы, которые вы будете получать, будут переданы здесь, и эта таблица Receiving as что вы видите в таблице Receiving там 2 Данные, и они есть.

enter image description here

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

  1. Программа подберет 1 (один) Данные из таблицы Receiving

  2. нажимаем кнопку с именем Post и программа выполнит следующие действия

    -check если ItemCode Подборки RINo уже существуют в таблице GeneralInventory и если ItemCode уже есть, то ReceivedQty таблицы Receiving и Qty таблицы GeneralInventory подведут или добавят данные.

Надеюсь, вы получите мое мнение, но если нет, я покажу вам еще один пример.

enter image description here

В целом: Если имеются данные затем суммировать его вверх или Else добавить новые данные.

Я использую этот код.

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 Внутреннее соединение Получение RE на GI.ItemCode = RE.ItemCode где RE.RINo = 'YOUR-VARIABLE' if (@query) { UPDATE GeneralInventory GI INNER JOIN получение RE ON GI.ItemCode = RE.ItemCode И 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 GeneralInventory GI ON GI.ItemCode = RE.ItemCode AND GI.Qty = RE.ReceivedQty WHERE RE.RINo = 'Данные RINo' } – rajsekar

Смежные вопросы