我的表看起来像这样......
PersonID Data1 Data2
1 XXXX YYYY
1 BBBB YYYY
2 BBBB YYYY
3 XXXX YYYY
我希望它看起来像这样......
PersonID SubRank Data1 Data2
1 1 XXXX YYYY
1 2 BBBB YYYY
2 1 BBBB YYYY
3 1 XXXX YYYY
我提出的最接近的解决方案看起来像这样......(ID是数据库访问唯一ID)
SELECT TABLE.PersonID, DCount("ID","Table","(PersonID='"&[PersonID]&"')",) AS SubRank, Table.Data1, Table.Data2
FROM Table
ORDER BY Table.PersonID;
但是这只返回唯一行的总值(即PersonID#1的Subrank都是“2”)。最终,此查询将提供交叉表查询,以将单个personID的所有数据放到一行上。
我从这里抓住了上面的解决方案:http://www.ozgrid.com/forum/showthread.php?t=39231&page=1
我想实现相同的目标,但是,他们的代码不起作用。
谢谢!
答案 0 :(得分:0)
您需要缩小域名。你可以在解决方案中看到他有
and
(Date <= #" & [Date] & "#)")
在dcount函数内部。所以你也需要做类似的事情 - 尽管我想你会使用ID代替日期。也许是这样的:
DCount("ID","Table","(PersonID='"&[PersonID]&"') and (PersonID <= " & [PersonID] & ")" )
答案 1 :(得分:0)
你的目标在这里有点模糊。你想找到重复的数量吗?你想不复制吗?为什么不这样做:
SELECT count(*),Data1,Data2 FROM Table GROUP BY Data1,Data2