2010-11-15 90 views
0

現在我想更新表格。假設我有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

回答

1

當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