2014-07-15 139 views
0

我需要顯示一個XML輸出,該輸出基於傳遞一個記錄編號進行搜索的請求輸出多個行項目。使用asp循環訪問SQL記錄

例如,請求傳遞記錄號「ABC123」來搜索。

響應查找被記錄編號記錄並返回一些領域:

<RecordNo>ABC123</ReocrdNo> 
<LineNo>1</LineNo> 
<Item>Good record</Item> 
<Quantity>1</Quantity> 
<Price>5.00</Price> 

然而,一個記錄可以有多個行項目,所以像

<RecordNo>ABC123</ReocrdNo> 
<LineNo>1</LineNo> 
<Item>Good record</Item> 
<Quantity>1</Quantity> 
<Price>5.00</Price> 

<RecordNo>ABC123</ReocrdNo> 
<LineNo>2</LineNo> 
<Item>Best record</Item> 
<Quantity>1</Quantity> 
<Price>6.00</Price> 

表結構基本上有一個帶有記錄號的主表,然後連接到該主記錄的詳細表中的多個詳細記錄。我知道我需要使用某種循環。

Set nodeTierRecordNum = CreateNode(nodeTierLine, "Quantity", "") 
nodeTierRecordNum.text = cmdGetRecord.Parameters("@quantity").Value 

而且SQL一邊:XML輸出是由ASP頁面上完成

SET @quantity = (SELECT qty FROM record_details WHERE record_id = @record_id_passed_in) 

但是,這將返回多個值,因爲有多個記錄(行),此記錄。

qty 
1 
1 

我該如何達到目標?

回答

0

必需組由按規定:

SET @quantity = (SELECT sum(qty) FROM record_details WHERE record_id = @record_id_passed_in 
group by Item) 

而另一個是XML輸出:

SELECT record_id, sum(qty) as qty FROM record_details 
WHERE record_id = @record_id_passed_in 
group by record_id 
for XML auto