首先,我很抱歉这个含糊不清的标题。 这是我的问题: 我使用的是Access,我有这张表:
+--------+-----------+
| PARENT | CHILD |
+--------+-----------+
| JOHN | TANIA |
| JOHN | ROBERT |
| JOHN | APRIL |
| HELEN | TOM |
| HELEN | GABRIELLE |
+--------+-----------+
我想在查询或VBA代码中添加这样的列:
+--------+-----------+---------+
| PARENT | CHILD | LIST |
+--------+-----------+---------+
| JOHN | TANIA | CHILD 1 |
| JOHN | ROBERT | CHILD 2 |
| JOHN | APRIL | CHILD 3 |
| HELEN | TOM | CHILD 1 |
| HELEN | GABRIELLE | CHILD 2 |
+--------+-----------+---------+
我想这样做,因为最后,我想运行一个交叉表查询。我只是错过了创建该查询的最后一列。
我尝试在记录集中执行此操作,但是我的数据库在几次rst.Update(我有700k +行)之后开始膨胀
我创建了一个临时表并使用了UPDATE查询,但这只需要太多时间。
我认为可能有一个SQL代码可以满足我的需求,但我无法弄明白。我希望你能帮助我,谢谢:)。
答案 0 :(得分:2)
您可以执行以下操作,但使用某种ID会更好:
SELECT Parent.PARENT,
Parent.CHILD,
(SELECT Count(*)
FROM Parent p
WHERE p.Parent=Parent.Parent
AND p.Child<=Parent.Child) AS ChildNo
FROM Parent
ORDER BY Parent.PARENT, Parent.CHILD;
Parent是表的名称。