我是 Stack Overflow 和 ASP 的新手,但是这个网站已经救了我很多次了!我对 ASP 和 VBS 非常陌生,但对 PHP 比较熟悉,所以如果我的问题有 PHP 解决方案,那也没关系。
一点背景 - 我的访问数据库有两个表(与此查询相关),一个被调用SignUpLog
,另一个被调用Notes
。该SignUpLog.FirstNoteAddr
字段对应Notes.NoteKey
于另一个表中的字段。
我已经成功地显示了数据库中的所有条目,但我想做的是将特定患者的所有条目组合成一行,同时仍按日期排序(最新的在顶部)。
这是我的代码:
Set DataConn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
DataConn.Open "DBQ=" & Server.Mappath("/path/to/mydb") & ";Driver={Microsoft Access Driver (*.mdb)};Uid=user;Pwd=pass;"
Set rsDsp = DataConn.Execute("SELECT SignUpLog.PatientFileNumber, SignUpLog.ArrivalDateTime, Notes.Note, SignUpLog.Called, SignUpLog.DrName FROM SignUpLog, Notes WHERE (((Notes.NoteKey)=[SignUpLog].[FirstNoteAddr])) ORDER BY SignUpLog.ArrivalDateTime DESC;")
If rsDsp.EOF Then
Response.Write "Sorry, no entries in the database!"
Else
%>
<div align="center"><center>
<table BORDER="0" width="700">
<tr>
<th width="105">Name</th>
<th width="105">Arrival Time</th>
<th width="105">Doctor</th>
<th width="105">Notes</th>
</tr>
<%
While Not rsDsp.EOF
x = x + 1
If x = 1 Then
Response.Write "<TR><TD>" & rsDsp.Fields.Item("PatientFileNumber").Value & "</TD>"
Response.Write "<TD>" & rsDsp("ArrivalDateTime").Value & "</TD>"
Response.Write "<TD>" & rsDsp("DrName").Value & "</TD>"
Response.Write "<TD>" & rsDsp("Note").Value & "</TD></TR>"
Else
Response.Write "<TR><TD BGCOLOR=E4E4E4>" & rsDsp.Fields.Item("PatientFileNumber").Value & "</TD>"
Response.Write "<TD BGCOLOR=E4E4E4>" & rsDsp("ArrivalDateTime").Value & "</TD>"
Response.Write "<TD BGCOLOR=E4E4E4>" & rsDsp("DrName").Value & "</TD>"
Response.Write "<TD BGCOLOR=E4E4E4>" & rsDsp("Note").Value & "</TD></TR>"
x = 0
End If
rsDsp.MoveNext
Wend
Response.Write "</TABLE>"
DataConn.Close
End If
%>
</table>
</center></div>
这给了我一个类似于这样的输出:
Patient A | 9/18/2012 12:56:21 PM | Appt | Note1
Patient A | 9/18/2012 12:56:21 PM | Appt | Note2
Patient A | 9/18/2012 12:56:21 PM | Appt | Note3
Patient B | 9/18/2012 1:56:21 PM | WalkIn | Note1
Patient B | 9/18/2012 1:56:21 PM | WalkIn | Note2
我想要的是这个:
Patient A | 9/18/2012 12:56:21 PM | Appt | Note1, Note2, Note3
Patient B | 9/18/2012 1:56:21 PM | WalkIn | Note1, Note2
我尝试过使用Group By
聚合函数并一直挂断它,这很令人困惑,因为我没有尝试做任何数学运算。就像说我是一个完整的 ASP 菜鸟,我绝不是一个程序员。