我是Stack Overflow和ASP的新手,但是这个网站已经多次保释了我!我对ASP和VBS非常熟悉,但对PHP更熟悉,所以如果我的问题有PHP解决方案,那也没关系。
一点背景 - 我的访问数据库有两个表(与此查询相关),一个称为SignUpLog
,另一个称为Notes
。 SignUpLog.FirstNoteAddr
字段对应于另一个表中的Notes.NoteKey
字段。
我成功地显示了数据库中的所有条目,但我想要做的是将特定患者的所有条目一起分组,同时仍然按日期排序(最新的在顶部)。 / p>
这是我的代码:
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菜鸟,我绝不是程序员。
答案 0 :(得分:0)
我相信在这里已经有了解决你的问题的办法,试着看THIS问题。您只需定义(有点复杂)函数并将其用作示例。
答案 1 :(得分:0)
这实际上是一个与ASP几乎没有关系的SQL查询问题。由于您使用的是MDB,因此您可能会发现使用MS Access对查询进行建模更容易,然后将生成的SQL语句粘贴回ASP代码中。
以下问题可以提供帮助: