2012-11-26 73 views
0

一組我有一樣的數據表(MSSQL):結果像傳統的ASP

1 AAA 100 
2 BBB 101 
3 C 100 
4 D 100 

我想列出itens喜歡:

100: 
- 1 AAA 
- 3 C 
- 4 D 

101: 
- 2 BBB 

我怎樣才能做到這一點?我在一段時間內完成了一段時間,但結果並不是我正在等待的:

<% 
    Set Group= TarefasConexaoMSSQL.Execute("SELECT DISTINCT GroupName FROM _NewDummy") 
    GroupName= Group("GroupName") 
    WHILE NOT Group.EOF 
%> 

<p> 
    <a href="#"><% Response.Write Group("GroupName") %></a> 
</p> 
<% 
    Set Itens= TarefasConexaoMSSQL.Execute("SELECT * FROM _NewDummy WHERE GroupName= '"& GroupName &"'") 
    One= Itens("One") 
    Two= Itens("Two") 
%> 
    <% 
     WHILE NOT Itens.EOF 
    %> 

    - One: <% Response.Write One %> 
    - Two: <% Response.Write Two %> 

    <% 
     Itens.MOVENEXT 
     WEND 
    %> 
<% 
    Group.MOVENEXT 
    WEND 
%> 

感謝您對此的任何信息。

+0

在哪裏存儲這個表? –

+0

MSSQL數據庫。 – Khrys

+0

請發佈您嘗試過的代碼。 – ryadavilli

回答

1

這裏不需要任何嵌套循環,只需按組名稱排序並記錄先前值與當前值的關係。當值更改(或第一個值)時顯示組名稱。

代碼:

<% 
Set oRS= TarefasConexaoMSSQL.Execute("SELECT * FROM _NewDummy ORDER BY GroupName ASC") 
Dim currentGroupName, previousGroupName 
currentGroupName = "" 
previousGroupName = "" 
Do Until oRS.EOF 
    currentGroupName = oRS("GroupName") 
    One = oRS("One") 
    Two = oRS("Two") 
    If currentGroupName<>previousGroupName Then 
     Response.Write("<p>") 
     Response.Write("<a href="#">" & currentGroupName & "</a>") 
     Response.Write("</p>") 
    End If 
    Response.Write("- One: " & One & ", Two: " & Two & "<br />") 
    previousGroupName = currentGroupName 
    oRS.MoveNext 
Loop 
oRS.Close 
%> 
+0

不錯!再次感謝@Shadow Wizard。感謝Siva和ryadavilli! – Khrys

+0

乾杯(再次?),但不知道什麼是西瓦或ryadavilli .. –