如何用大查询复制相关子查询

How to replicate a correlated sub query with big query

BigQuery 不支持关联反半连接。我目前正在努力解决一个问题,如果上述陈述是错误的,这个问题会变得容易得多。

我有两个 table。

如果 Big Query 确实支持这种类型的查询,这些是我试图获得的结果:

SELECT
  pro.pid,
  prg.sources,
FROM [datastore.PRO] AS pro 
JOIN EACH FLATTEN([datastore.ProfileGroupModel], sources) AS prg ON prg.gid = pro.gid
WHERE prg.sources NOT IN (
  SELECT ignoredSourceList
  FROM FLATTEN([datastore.PRO], ignoredSourceList) as proInner
  WHERE proInner.pid = pro.pid
)

是否有人对如何将其展开为 BigQuery 领域内的有效解决方案有任何指示?

根据上面示例背后的确切逻辑,在黑暗中拍摄了一点,但像下面这样的东西应该可以工作

SELECT 
  pro.pid AS pid,
  prg.sources AS source 
FROM [datastore.PRO] AS pro 
JOIN EACH FLATTEN([datastore.ProfileGroupModel], sources) AS prg 
  ON prg.gid = pro.gid
LEFT JOIN EACH FLATTEN([datastore.PRO], ignoredSourceList) AS proInner 
  ON proInner.pid = pro.pid AND  prg.sources = proInner.ignoredSourceList
WHERE proInner.ignoredSourceList IS NULL 
  AND proInner.pid IS NULL