【发布时间】:2016-02-20 00:54:50
【问题描述】:
我有一个表(表 1),其中第一列是键,第二列包含不同类型的元素。在表 1 中,共有三种类型(类型 A、B、C),但实际数据库的类型更多。
Table.1. A minimal example.
_________________
| | |
|_KEY| attribute |
|____|___________|
|k1 | A |
|k2 | A |
|k3 | B |
|k4 | C |
|k5 | C |
|____|___________|
来自表 1;我有兴趣从每种类型中仅检索有限数量的元素。表 2 提供了给定类型的元素数量有限,其中元素类型是表的键 (_element)。
澄清;从表 1 中获取的类型 A 元素的数量有限。在这个最小示例中是 1。同样,对于类型 B,它是 2,对于类型 C,它是 1。
Table 2. Limits of item to obtain for each type in table 1.
____________________
| _Element | Limit |
|----------|-------|
| A | 1 |
| B | 2 |
| C | 1 |
|__________|_______|
最后,应该从表 1 中从上到下检索元素。
感谢任何帮助和/或指点/gus。
附言
对于上述最小示例,预期输出为
___________________
| Key| Attribute |
|____|____________|
| k1 | A |
| k3 | B |
| K4 | C |
|____|____________|
因为这个特定的最小示例只存在 1 个 C 属性。请注意,如果存在,例如 C 类型的 5 个元素,则将获得下表(因为 C 元素的数量有限是 2)
___________________
| Key| Attribute |
|____|____________|
| k1 | A |
| k3 | B |
| K4 | C |
|_k5 | C |
|____|____________|
【问题讨论】:
-
根据该样本数据,您的预期输出是什么?
-
是的,您能给我们提供一个输出示例,以便我们更好地提供帮助吗?
-
谢谢。我已经更新了 O.P.
标签: sql postgresql