给定具有列名称的数组,从另一个表中选择列

假设我有这张桌子meta_table

+------------+------------------------+
| table_name |       col_names        |
+------------+------------------------+
| t1         | {ID,PRICE,OPERATION} |
| t2         | {TYPE,ANGLE}   |
+------------+------------------------+

其中col_names具有数组结构。

t1t2具有包含在数组中的列以及一些未出现在数组中的列。

第一个问题:如何从表t1t2中仅选择列col_names中数组中包含的列?

第二个问题:主要目的是为每个表计算数组中每一列的缺失数,并将其返回到具有数组结构的新列中:

+------------+------------------------+-----------+
| table_name |       col_names        |  n_miss   |
+------------+------------------------+-----------+
| t1         | {ID,OPERATION} | {0,1,0} |
| t2         | {TYPE,ANGLE}   | {0,1} |
+------------+------------------------+-----------+

有什么想法吗?

我正在使用Clickhouse

非常感谢!

DtutuXsongshu 回答:给定具有列名称的数组,从另一个表中选择列

这回答了问题的原始版本。

如果我理解正确,则可以使用array join。我对Clickhouse语法不太熟悉,但是我认为这是您想要的:

select a.*
from t1 array join
     t1.array as a;
本文链接:https://www.f2er.com/3144589.html

大家都在问