0

我有 3 张桌子;COMMUNITIES,MEMBERSCHECKINS.

根据访问者的社区选择,我希望列出属于该社区的成员的最后一次签到。

我收到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)
4

1 回答 1

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条件M.CommunityID = <your var here>;一个简单的陈述,如:C.MemberID = <your var here>就足够了。

于 2013-04-26T10:02:34.970 回答