【发布时间】:2019-09-23 23:36:09
【问题描述】:
我正在尝试编写一个非常简单的查询:我想提取雪花表中的所有帐户,并标记可以链接到机会表中记录的帐户(真/假),并在输入字段。
这是一个我认为会返回我正在寻找的内容的查询:
SELECT
acc.id
, acc.id IN (
SELECT DISTINCT(opp.accountid)
FROM "OPPORTUNITY" opp
WHERE opp.type LIKE '%Startup%'
) AS startup
FROM "ACCOUNT" acc
帐户表有大约 100,000 个不同的记录,子查询返回一个仅包含大约 11,000 个不同帐户 ID 的列表,但别名为“startup”的字段对于每个帐户都包含 TRUE。我已经尝试诊断为什么这会返回所有 True 而没有运气。我还尝试使用带有相关子查询的 EXISTS 编写相同的查询,并得到了相同的结果。
我能够通过在 FROM 子句之后加入子查询来构建一个工作查询,但我很想了解为什么上面的查询无法正确评估每一行。
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: sql subquery correlated-subquery snowflake-cloud-data-platform