【发布时间】:2018-11-05 15:13:42
【问题描述】:
我有一个相当简单的表格,看起来像这样:
CID ID2 ID3 ID4
001 002 002 002
002 003 003 003
003 003 010 010
004 099 080 080
005 100 080 081
006 101 043 009
007 017 013 009
008 092 012 009
我正在尝试编写一个 SQL 查询(目前在 MS Access 中,但我应该能够采用任何方法),它将识别 CID 中的所有值,其中 ID2、ID3 或 ID4 中的任何值在它们自己的列中重复以及相关的重复值计数。我可以用一列相当容易地做到这一点,但我太菜鸟了,无法弄清楚如何获得它们在不同列中重复的位置。
我对上表的预期结果是:
CID Count
002 2
003 2
004 2
005 2
006 3
007 3
008 3
CID 002 和 003 共享同一个 ID2,CID 004 和 005 共享同一个 ID3,CID 006、007 和 008 都共享同一个 ID4。
到目前为止,我已经这样做了,它可以仅从 ID2 获取计数:
SELECT tbl.CID, Count(*) AS COUNTIDs FROM tbl GROUP BY tbl.ID2 HAVING Count(*)>1;
感谢您的关注和帮助!
【问题讨论】:
-
好的,我已编辑帖子以包含此内容。我没有打扰,因为它不符合我的要求。