我有一个表A中的数组,如下所示
Table A
| id | value |
| -- | ----- |
| 1 | a |
| 1 | b |
| 1 | c |
| 2 | a |
| 2 | c |
| 3 | d |
| 3 | a |
| 3 | c |
表B看起来像这样
Table B
| id | array |
| -- | ----- |
| 1 |[a, b] |
| 2 |[a, c] |
| 3 |[c, d] |
请注意,值c不包括在id 1的数组中,值a不包括在id 3的数组中
如何通过查询从表A的值创建数组的列,以使数组中的值与表B的数组中存在的值匹配?
下面是我想从表A中查询的内容:
I want to query from values in Table A to look like Table B
| id | array |
| -- | ----- |
| 1 |[a, b] |
| 2 |[a, c] |
| 3 |[c, d] |
我考虑过通过按id分组来聚合表A中的值,但这将包括我们要匹配的id的所有值。
我还考虑过连接这两个表并进行比较,但是我不确定如何基于表B的数组中的值创建数组
1条答案
按热度按时间6l7fqoea1#
这就是从表A生成表B的方法(对我来说仍然没有任何意义)
测试
http://sqlfiddle.com/#!18/b198a/14