【发布时间】:2020-01-29 21:34:17
【问题描述】:
我正在努力处理带有日期范围的雪花数据库 LEFT JOIN 查询。请在下面找到示例表内容
我的 Snowflake SQL 查询: 选择 O.ORDER_DATE, CASE WHEN ORDER_DATE 为 NULL THEN 'NO' ELSE 'YES' END AS ORDER_PLACED, C.CUSTOMER_ID, C.NAME 来自客户 C C.CUSTOMER_ID=O.CUSTOMER_ID 上的左连接订单 AND O.ORDER_DATE >= DATEADD(DAY, -3, CURRENT_DATE)
我期望的输出 - 我想获得所有客户最近 3 天的记录以及他们是否下订单,如下所示
我通过给定的雪花查询得到的当前数据输出是
我不知道问题是否出在日期范围上(无论如何我都需要日期范围),因为我在第一天就得到了所需的结果。但是在剩下的日子里,我只会在下订单时得到这些记录。如预期结果所示,我想获取所有客户记录以及他们是否下订单等详细信息。
提前致谢
【问题讨论】:
-
请不要发布图片!
-
只是扫描这个,但您是否尝试过删除“LEFT”并使用内部连接?
-
每位客户最近 3 天的订单还是过去 3 天内的订单?
-
您似乎想要来自客户表的所有记录,并在过去三天内显示“已下订单”。如果是这种情况,那么 LEFT JOIN 是正确的,但是,您将删除 3 天前下订单的客户。
-
请use text, not images/links, for text--including tables & ERDs. 转述或引用其他文本。只提供您需要的东西并将其与您的问题联系起来。仅将图像用于无法表达为文本或增强文本的内容。无法搜索或剪切和粘贴图像。在图像中包含图例/键和说明。请在发布之前查看编辑框下方帖子的格式化版本。阅读代码和引文的内联和块格式的编辑帮助。
标签: sql database left-join snowflake-cloud-data-platform