我有3张桌子; COMMUNITIES
,MEMBERS
和CHECKINS
。
根据访问者的社区选择,我希望该列表是属于该社区的成员的最后一次检入。
我收到Operand should contain 1 column(s)
错误,包含以下代码。
我将非常感谢您的帮助!
cFilter = Request.QueryString("Filter")
SQL = "SELECT C.CheckinID, C.CheckInPlatform, C.MemberID, C.VENUENAME, C.VENUECITY, C.VENUECOUNTRY, C.VENUECREATEDAT, C.CheckInDateEntered"
SQL = SQL & " FROM CHECKINS C"
SQL = SQL & " WHERE C.CheckinID"
SQL = SQL & " IN ( SELECT MAX(CheckinID)"
SQL = SQL & " FROM CHECKINS"
SQL = SQL & " GROUP BY MemberID"
SQL = SQL & " )"
SQL = SQL & " AND C.MemberID"
SQL = SQL & " IN ( SELECT M.MemberID, M.CommunityID"
SQL = SQL & " FROM MEMBERS M"
SQL = SQL & " WHERE M.CommunityID = "& cFilter &""
SQL = SQL & " )"
SQL = SQL & " ORDER BY C.CheckInDateEntered DESC"
Set objCheckins = objConn.Execute(SQL)
答案 0 :(得分:0)
以下部分:
C.MemberID IN ( SELECT M.MemberID, M.CommunityID
FROM MEMBERS M
WHERE M.CommunityID = <your var here>
)
应细分为:
(
(C.MemberID IN ( SELECT M.MemberID
FROM MEMBERS M
WHERE M.CommunityID = <your var here>
)
)
OR
(C.MemberID IN ( SELECT M.CommunityID
FROM MEMBERS M
WHERE M.CommunityID = <your var here>
)
)
)
虽然我认为可以跳过OR
子句的后一部分。
由于您选择条件为M.CommunityID
的{{1}};一个简单的陈述,如:M.CommunityID = <your var here>
就足够了。