我有一个列,它是每行都有键值对的映射,我想过滤掉一些我不关心的键,这样得到的映射就是每行的筛选版本.
我所关心的键将在一个数组中,但应该对其进行排序.如何将键数组与IN操作符一起使用,以便可以使用MAP_FILTER函数,或者是否有其他方法可以使用ELEMENT_AT函数来获取每行映射.我在文件中没有找到任何东西.
到目前为止,我有这个SQL查询:
WITH temp AS (
SELECT array_sort(filter(map_keys(mapColumn), x -> x not in ('id', 'image')))) as myFiltered
FROM myTable WHERE myFilter = 'a'
)
SELECT map_filter(mapColumn,(k, v) -> k in temp.myFiltered))) from myTable WHERE myFilter = 'a'