【发布时间】:2021-05-06 00:28:50
【问题描述】:
我有一张表,它为经理捕获名称值组。例如,id 为 1 的经理有两个组值对:location=dublin 和 dept=sales。
| GROUP | VALUE | MANAGERID |
|---|---|---|
| LOCATION | DUBLIN | 1 |
| DEPT | SALES | 1 |
| LOCATION | OSLO | 2 |
| DEPT | SALES | 2 |
| LOCATION | LONDON | 3 |
| DEPT | SALES | 3 |
我有另一个包含员工分组的表...
| GROUP | VALUE | EMPLOYEEID |
|---|---|---|
| LOCATION | DUBLIN | 101 |
| DEPT | SALES | 101 |
| LOCATION | DUBLIN | 102 |
| DEPT | SALES | 102 |
| LOCATION | DUBLIN | 103 |
| DEPT | SALES | 103 |
| SHOESIZE | 15 | 103 |
| LOCATION | OSLO | 104 |
| DEPT | SALES | 104 |
我想获取至少与特定经理具有相同分组的所有员工的列表。例如,id 为 1 的经理是 location=dublin 和 dept=sales,并且具有这些组值的员工至少是 101,102 和 103,但不是 104。
我事先不知道组列或值列的值。如果我在 group 和 value 列上做一个简单的内部连接,然后是一个不同的,我得到 101、102 103 和 104
有什么想法吗?
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
标签: sql oracle sqlite pivot-table transpose