我有一个包含二进制值的表,如下所示:
binaryid description
1 description1
2 description2
4 description3
8 description4我有另一个包含值的表:
DBID BinaryTogether
1 15
1 12
1 6使用按位运算符,我希望获得一个包含以下内容的表:
DBID BinaryTogether BitwiseResult
1 15 description1,description2,description3,description4
1 12 description3,description4
1 6 description2, description3发布于 2016-06-02 04:42:35
您可以使用&按位运算符连接这些表,然后使用string_agg函数聚合描述。下面是一个例子:
with
b(x,d) as (
values
(1,'description1'),
(2,'description2'),
(4,'description3'),
(8,'description4')),
p(y) as (
values
(15),
(12),
(6))
select
y,
string_agg(d,',')
from
p join b on (x & y != 0)
group by
yhttps://stackoverflow.com/questions/37578015
复制相似问题