问题标签 [lateral]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 查询 JSONB 对象中的数组元素
我有一个jsonb
名为data
的表中的列reports
。这是report.id = 1
看起来的样子
这report.id = 2
看起来像:
我正在尝试获取表中所有条目的列表,reports
其中至少一个data
列的元素具有以下内容:
type
= Produce
AND 其中数组的Product
任何元素或Product
数组的任何元素都groupID
以Food
所以从上面的例子中这个查询将只返回第一个索引,因为
- 类型 =
Produce
- groupID 以数组
Food
的第一个元素开头Product
第二个索引将被过滤掉,因为 type 不是Produce
。
我不知道如何查询做 AND 查询groupID
。这是我试图获取类型的所有条目Produce
json - 在 hive 中将 json 转换为行(横向视图)
希望您能帮助我解决以下问题(我的蜂巢知识有限)我的一张表中有以下 json 数组:
预期结果:
顾客。ID。价格。姓名。价格.Loc。当前。产品编号。ctg。尺寸。样式 Cst1 13358958. 37.89. 产品 1。27.95。英镑。13358958.物理。M. 12345 Cst1 13092564. 57.99. 产品 2。47.95。英镑。13358958. 服装。M. 54321
但是,当我使用以下方法在配置单元上查询时:
横向视图 explode(array(cart_items)) vl AS virtual_table where customer='cst1'
我没有得到行:数据没有拆分。如果我从查询中删除“数组”,我会收到一个错误:无法从 cart_items#59648 中提取值:需要结构类型但得到字符串。
任何帮助/建议表示赞赏。阿卜杜勒
view - 蜂巢中的横向视图爆炸功能
我正在尝试将数据从 excel 导出到配置单元表中,同时这样做,我有一列“ABC”,其值类似于“1,2,3”。我使用了横向视图分解功能,但它对我的数据没有任何作用。
以下是我的代码片段: CREATE TABLE table_name ( id string, brand string, data_name string, name string, address string, country string, flag string, sample_list array ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE
;
LOAD DATA LOCAL INPATH 'location' INTO TABLE table_name ;
输出样本:
id 品牌 data_name 名称 地址 国家 flag sample_list
19 1 ABC SQL ABC 玉米淀粉 IN 1 ["[1,2,3]"]
然后我做: 从franchise_unsupress LATERAL VIEW explode(SEslist) SEslist中选择*作为final_SE;
输出样本:
id 品牌 data_name 名称 地址 国家 flag sample_list
19 1 ABC SQL ABC 玉米淀粉 IN 1 [1,2,3]
我也试过: select * fromfranchise_unsupress 横向视图 explode(split(SEslist,',')) SEslist AS final_SE ; 但出现错误:
失败:ClassCastException org.apache.hadoop.hive.serde2.objectinspector.StandardListObjectInspector 无法转换为 org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector
而我需要的是:
id 品牌 data_name 名称 地址 国家 flag sample_list
19 1 ABC SQL ABC 玉米淀粉 IN 1 1 19 1 ABC SQL ABC 玉米淀粉 IN 1 2 19 1 ABC SQL ABC 玉米淀粉 IN 1 3
任何帮助将不胜感激!谢谢你
sql - 正确使用 LATERAL FROM
我正在尝试使用 PostGIS 在 SQL 语句中执行多个步骤,以基本上将栅格转换为点、缓冲、溶解,然后根据属性确定整体边界,即凹壳。
以下是我所在的位置,但收到错误提示使用 LATERAL FROM 但我不知道我需要做什么。
任何帮助将不胜感激。
[0A000] 错误:聚合函数调用不能包含集合返回函数调用提示:您可能能够将集合返回函数移动到 LATERAL FROM 项中。职位:123