0

MySQLデータベースでこのようなことをしたいと思います。

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

次にstock_ID、itemsOrderedデータベースと注文されたアイテムの数を取得します。

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

次に、それらを使用して、stocksDBの手持数量を補充します。

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 ステートメントで内部結合を実行できます。

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 に答える