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

问题描述:

现在我想更新表格。假设我有PurchaseOrder和PurchaseOrderDetails。经典ASP和sqlstatement:如何使用经典ASP更新2个或更多Master和详细记录?

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

对于PurchaseOrderDetails中的Matched_Status,Deafult为“0”。如果项目数量和金额相同,我需要在PurchaseOrderDetails中将“1”更新为Matched_Status。我可以执行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字段保存PurchaseOrderDetails的PurchaseItems Number保存。如果我们购买3件商品,Max(ItemsNo)将为3. 我使用经典的asp编写语句和循环。你能告诉我在上面的陈述和经典的asp代码示例中有什么不对吗?

提前致谢! RedsDevils

+0

如果我理解您的问题正确 - 如果PurchaseOrder表中的Quantity和Amount字段与Quantity和Amount字段Invoice表中的相同,您希望将PUrchaseOrder表中的状态更新为“1”。是对的吗?提供PurchaseOrder,PurchaseOrderDeatils和Invoice表的表结构。 – pavanred 2010-11-15 05:56:27

+0

是的,就像那样.. – RedsDevils 2010-11-15 06:20:18

当PurchaseOrder表中的数量和金额字段与数量和金额字段发票表相同时,哟可以在PUrchaseOrder表中将此更新状态设置为“1”。

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

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

+0

谢谢.. Pavanred,我得到了上面设置的逻辑。 – RedsDevils 2010-11-16 08:51:30