经典ASP&sqlstatement:如何使用经典ASP更新2条或更多主记录和详细记录?

经典ASP&sqlstatement:如何使用经典ASP更新2条或更多主记录和详细记录?,sql,sql-server-2008,asp-classic,Sql,Sql Server 2008,Asp Classic,现在我想更新表。假设我有PurchaseOrder和PurchaseOrderDetails 我在PurchaseOrder表中有一个名为Status的字段,在PurchaseOrderDetails中有一个匹配的_Status字段。我需要将状态字段更新为1,如果我们开具发票时所有采购数据的数量和金额相同。如果PurchaseItems数量或金额不匹配,我需要将状态更新为5 对于PurchaseOrderDetails中匹配的_状态,Deafult为0。如果项目数量和金额相同,我需要在Purch

现在我想更新表。假设我有PurchaseOrder和PurchaseOrderDetails

我在PurchaseOrder表中有一个名为Status的字段,在PurchaseOrderDetails中有一个匹配的_Status字段。我需要将状态字段更新为1,如果我们开具发票时所有采购数据的数量和金额相同。如果PurchaseItems数量或金额不匹配,我需要将状态更新为5

对于PurchaseOrderDetails中匹配的_状态,Deafult为0。如果项目数量和金额相同,我需要在PurchaseOrderDetails中将1更新为匹配的_状态。我可以更新PurchaseOrderDetails。我面对的订单是更新到PurchaseOrder

我得到了一系列采购订单发票号

我使用以下语句对PurchaseOrder表中的数组计数和更新状态字段进行迭代

    UPDATE PurchaseOrder SET Status = CASE WHEN ((SELECT COUNT(*) FROM PurchaseOrderDetail WHERE CoID = 'SampleCoID' AND Matched_Status = 0 AND PurchaseOrderNo='PONo') <> (SELECT MAX(ItemsNo) FROM PurchaseOrderDetails WHERE AND Matched_Status = 0 AND PurchaseOrderNo='PONo')) THEN 5 AND 1 END WHERE CoID = 'SampleCoID' AND PurchaseOrderNo='PONo'
注意:ItemsNo字段用于保存PurchaseItems编号,用于保存PurchaseOrderDetails。如果我们买3件,MaxItemsNo将是3件。 我用经典的asp编写语句和循环。你们能告诉我上面的陈述有什么错误吗?经典asp的示例代码就是这样

提前谢谢!
当PUrchaseOrder表中的数量和金额字段与发票表中的数量和金额字段相同时,RedsDevices可以尝试将PUrchaseOrder表中的状态更新为1

UPDATE PurchaseOrder SET Status = 1 
FROM PurchaseOrder PO 
INNER JOIN Invoice I On PO.Quantity = I.Quantity AND PO.Amount = I.Amount

我不知道确切的表名和列名。如果您提供了表结构,可能还有示例数据和输出,那么我可以提供更好的答案。

如果我正确理解您的问题-如果PUrchaseOrder表中的数量和金额字段与发票表中的数量和金额字段相同,您希望将PUrchaseOrder表中的状态更新为1。是这样吗?提供PurchaseOrder、PurchaseOrderDeatils和Invoice表的表结构。谢谢。。Pavanred,我接受了上面的逻辑。