0

我想在我的 MySQL 数据库上做这样的事情。

SELECT * FROM itemsordered WHERE purchaseOrder_ID = '@purchaseorderID';

然后检索stock_IDitemsOrdered 数据库和已订购的项目数。

string stockID = (dr["stock_ID"].ToString())
string restockQuantity = (dr["quantity"].ToString())

然后使用它们来补充库存数据库中的现有数量

UPDATE stocksdb SET quantity = @restockQuantity WHERE stock_ID = @stockID

有没有更简单的方法来做到这一点?

itemsordered数据库列

itemsOrdered_ID purchaseORder_ID stock_ID quantity status datereceived

stocksdb数据库列

stock_ID name onHandQuantity pricePerPiece dateUpdated

4

3 回答 3

2

是的,还有更简单的方法。你可以UPDATE这样JOIN

UPDATE stocksdb s
INNER JOIN itemsordered i ON s.stock_ID = i.stockID
SET s.quantity = i.onHand
WHERE i.purchaseOrder_ID = '@purchaseorderID';
于 2012-12-21T08:07:54.677 回答
2
UPDATE stocksdb s
    INNER JOIN itemsordered i ON i.stock_ID = s.stock_ID
    SET quantity = i.quantity WHERE i.purchaseOrder_ID = '@purchaseorderID';
于 2012-12-21T08:09:44.213 回答
1

您可以在更新语句中进行内部联接。

update stocksdb a inner join itemsordered b on a.stock_ID = b.stock_ID
set a.quantity = b.quantity
purchaseOrder_ID = '@purchaseorderID';

sql语句未经测试,但我想你明白了

干杯

于 2012-12-21T08:11:18.037 回答