我正在编写一个项目的facebook类请求页面。我坚持在所有请求打印页面中分组请求。
我的sql为
SQL = "SELECT R.REQUESTID, R.BYID, R.TOID, R.TYPE, R.DATEENTERED, M.MEMBERID, M.FIRSTNAME, M.LASTNAME"
SQL = SQL & " FROM REQUESTS R, MEMBERS M"
SQL = SQL & " WHERE R.ACTIVE = 1 AND R.TOID = "& Session("MEMBERID") &" AND R.BYID = M.MEMBERID"
SQL = SQL & " GROUP BY R.REQUESTID, R.BYID, R.TOID, R.TYPE, R.DATEENTERED, M.MEMBERID, M.FIRSTNAME, M.LASTNAME"
SQL = SQL & " ORDER BY R.DATEENTERED DESC"
将结果作为
返回
朋友
伊迪
朋友
弗兰克
集团
乔治
但我需要它
朋友
伊迪
弗兰克
集团
乔治
答案 0 :(得分:2)
尝试将其更改为不同的选择。我认为这是提供商特定的,但通常是
SQL = "SELECT DISTINCT R.REQUESTID, R.BYID, R.TOID, R.TYPE, R.DATEENTERED, M.MEMBERID, M.FIRSTNAME, M.LASTNAME"
或
SQL = "SELECT DISTINCT ROW R.REQUESTID, R.BYID, R.TOID, R.TYPE, R.DATEENTERED, M.MEMBERID, M.FIRSTNAME, M.LASTNAME"
会做的伎俩。
答案 1 :(得分:0)
分组依据会为您的分组列提供唯一值。
为什么要将好友行列出两次?
答案 2 :(得分:0)
如果您所关注的其中一位成员有多个申请,您将获得重复申请。
看看这个:
SELECT --select all columns required, can produce duplicates
R.REQUESTID, R.BYID, R.TOID, R.TYPE, R.DATEENTERED, M.MEMBERID, M.FIRSTNAME, M.LASTNAME
FROM REQUESTS R
INNER JOIN MEMBERS M ON R.BYID = M.MEMBERID
WHERE M.MEMBERID IN (SELECT --get distinct list of members to display
M.MEMBERID
FROM REQUESTS R
INNER JOIN MEMBERS M ON R.BYID = M.MEMBERID
WHERE R.ACTIVE = 1 AND R.TOID = ___MEMBERID__
GROUP BY M.MEMBERID
)
ORDER BY R.DATEENTERED DESC
答案 3 :(得分:0)
SELECT和GROUP BY子句中有许多字段,从它们的名称来看,它们听起来像是MEMBERID等主键值或者可能非常独特的字段,例如DATEENTERED(最后一个可能包含时间)信息以及。)这些字段中的任何一个都可能阻止您的查询进行任何类型的分组。我会尝试删除其中的一些项目,直到您的分组开始生效。这样您就可以隔离出哪些字段存在问题。或者,保留一些字段,如名字和姓氏,然后添加以查看GROUP BY分崩离析的位置。
答案 4 :(得分:0)
我刚刚在查询的顶部添加了一个DISTINCT。如果我做对了,我猜这会解决。
SQL =“SELECT DISTINCT R.REQUESTID,R.BYID,R.TOID,R.TYPE,R.DATEENTERED,M.MEMBERID,M.FIRSTNAME,M.LASTNAME”
SQL = SQL& “请求R,成员M”
SQL = SQL& “在哪里R.ACTIVE = 1 AND R.TOID =”&会话(“MEMBERID”)&“AND R.BYID = M.MEMBERID”
SQL = SQL& “GROUP BY R.REQUESTID,R.BYID,R.TOID,R.TYPE,R.DATEENTERED,M.MEMBERID,M.FIRSTNAME,M.LASTNAME”
SQL = SQL& “由R.DATEENTERED DESC命令”
如果作品投票,试试这个!