我有两个表,它们共享一个列,这不是唯一的。我想要表 A 的共享列的值比表 B 多的所有记录。
TABLE A:
Shared_Column|User_ID|Department
123 | joe| sales
123 | joe| sales
123 | joe| sales
124 | sam| ops
124 | sam| ops
TABLE B
Shared_Column|Other_Column
123 | 1
123 | 1
124 | 4
124 | 4
从这些数据中,我想要joe|sales
但不是sam|ops
。我也可以将此作为输出:
USER|TABLE_A_COUNT|TABLE_B_COUNT
joe| 3| 2
sam| 2| 2
编辑:我尝试过这样的加入:
select a.user_ID, count(a.shared_column) as 'TABLE_A_COUNT', count(b.shared_column) as 'TABLE_B_COUNT'
from a inner join b on a.shared_column = b.shared_column
group by a.user_ID
但这似乎会产生交叉连接,我得到joe|6|6
的是 3 和 2
谢谢!