请帮助我调整以下查询:
SELECT META(m).id,m.sch_name AS名称FROM pricing_qa_1
AS m
m.d_type =“ mprisch” AND r
IN(从pricing_qa_1
中选择RAW META(a).id,作为unaest a.prod_prof AS p,其中a.dtype =“ prisch” AND(p.prod_cd =“ WMOBAC000A1”))。
答案 0 :(得分:0)
每个文档中都有一个数组,并且您对包含prod_id值“ WMOBAC000A1”的文档感兴趣。那正确吗?
您应该可以使用ANY运算符完全消除UNNEST:
https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/collectionops.html
答案 1 :(得分:0)
将数组索引与此处介绍的ANSI JOIN结合使用(示例12、13、14)
CREATE INDEX ix1 ON pricing_qa_1 ( DISTINCT v.prod_cd FOR v IN prod_prof END ) WHEERE dtype = "prisch";
CREATE INDEX ix2 ON pricing_qa_1 ( DISTINCT pri_sch_ref ) WHEERE dtype = "mprisch";
SELECT META(m).id , m.sch_name AS name
FROM pricing_qa_1 AS p
JOIN pricing_qa_1 AS m
ON ANY mv IN m.pri_sch_ref SATISFIES mv = META(p).id END AND m.dtype = "mprisch"
WHERE p.dtype = "prisch" AND ANY v IN p.prod_prof SATISFIES v.prod_cd = "WMOBAC000A1" END ;