几天前问了一个问题,但决定走另一条路,所以我重新做这个问题,因为编辑变得有点混乱。
我有一个包含两列的数据列表:
pID sKey
100 8611
100 2318
101 3516
101 5413
102 6546
102 5646
102 8411
103 8795
103 5845
第一个出现的 sKey 将成为该 pID 的主 sKey,之后的每个 sKey 都将成为从属。数据看起来像这样。
pID sKey sKey_1
100 8611 2318
101 3516 5413
102 6546 5646
102 6546 8411
103 8795 5845
这个查询让我接近
SELECT MyTable.pID, MyTable.sKey, MyTable_1.sKey
FROM MyTable
INNER JOIN MyTable AS MyTable_1
ON MyTable.pID = MyTable_1.pID
WHERE (((IIf([MyTable.sKey]=[MyTable_1.sKey],"Y","N"))="N"))
pID sKey sKey
100 2318 8611
100 8611 2318
101 3516 5413
101 5413 3516
102 5646 6546
102 5646 8411
102 6546 5646
102 6546 8411
102 8411 5646
102 8411 6546
103 5845 8795
103 8795 5845
但是正如你所看到的,它颠倒了顺序并将每个加倍,当它遇到一个有 3 个或更多 sKey 的实例时,它有点疯狂:\
任何人有任何想法,或者可以指出我正确的方向?