我正在尝试使用新的板条DB。关联我有一个包含"基础架构"one_answers"网络"对象的表:
CREATE TABLE servers (infrastructure object(strict) as (
#etc...
os_name string,
#etc...
network array(object as
(etc.., hosting_id string, etc... ))
我需要从网络数组中查询"基础架构"和hosting_id的os_name。我怎么做?我试图用Google找到正确的语法,但没有成功。我想要这样的东西:
SELECT * FROM servers WHERE infrastructure[os_name] = "some value"
和
SELECT * FROM servers WHERE infrastructure["network"]["hosting_id"] = "some value"
任何()是您的朋友,但请注意,它不与对象数组。因此,您还需要考虑此信息。下面的解决方案适用于最新的板条箱版本1.0.1:
SELECT * FROM servers
WHERE
os_name = 'some value'
AND
'some value' = ANY(network['hosting_id']);