背景:
在cosmosdb数据库中有两个表key:value documents 在他们的容器里。t1和t2
T1
Id: 111
ems_featurecategory: 1234
ems_name: "win"
T2
feature_category: "win"
feature_category: "hello"
我希望查询cosmosdb以便:
如果t1的ems\u name值与t2的feature\u category值匹配,则返回t1的ems\u featurecategory键的值。
期望输出:
因此,由于t1的ems\u name键的值与t2的featurecategory键的值匹配
ems_name: "win"
featurecategory: "win",
将返回的值为:1234
我的方法:
连接两个表并执行如下查询:
SELECT c.emsfeaturecategory, c.ems_name, f.feature_category
FROM c
JOIN f in c.id
WHERE array_contains(['',''],c.id,true)
AND c.ems_name = featurecategory...
我不知道如何成功地写出这个查询。任何建议都是有用的。
2条答案
按热度按时间dzhpxtsq1#
在cosmosdb中,无法进行跨容器搜索。我建议您更改文档的架构,如下所示:
然后,您可以使用以下sql:
下面是我的测试结果:
tquggr8v2#
就这么做吧:
使用您的示例,它将返回以下内容:
我正在使用你指定的列。后来你说你只想输出1234。那么你只需要做:
注意:join在功能上与“inner join”相同
你可以在这里阅读更多关于连接的信息