Snowflake cloud data platform 如果在snowflake中row2=row1,是否有一种方法可以像在excel中那样编写函数

Snowflake cloud data platform 如果在snowflake中row2=row1,是否有一种方法可以像在excel中那样编写函数,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我有这个输出。我想在snowflake中编写这段代码,如果RowN 2中的MPolicy=RowN 1中的MPolicy,那么,如果不是1,则为2,正如我们在excel中所做的那样,IFA1=A2,2,1。我已经从excel上传了一些图片,这些图片是我试图在snowflake中完成的 选择 目标订单上的行号。策略Asc为行, Target_QUIKMSTR.MPOLICY 来自Target_QUIKMSTR 在Target\u QUIKMSTR.MPOLICY=Target\u quikridr

我有这个输出。我想在snowflake中编写这段代码,如果RowN 2中的MPolicy=RowN 1中的MPolicy,那么,如果不是1,则为2,正如我们在excel中所做的那样,IFA1=A2,2,1。我已经从excel上传了一些图片,这些图片是我试图在snowflake中完成的

选择 目标订单上的行号。策略Asc为行, Target_QUIKMSTR.MPOLICY 来自Target_QUIKMSTR 在Target\u QUIKMSTR.MPOLICY=Target\u quikridr.MPOLICY上左连接Target\u quikridr 其中Target_QUIKMSTR.MPOLICY类似于“%N” 而Target_QUIKMSTR.MSTATUS='54' 日期target_QUIKMSTR.MSTATDATE介于“2020年5月1日”和“2020年5月31日”之间 输入:

预期产出:


我认为您正在寻找以下内容:

以orig_表为例 选择 目标订单上的行号。策略Asc为行, 目标_QUIKMSTR.MPOLICY作为MPOLICY 来自Target_QUIKMSTR 在Target\u QUIKMSTR.MPOLICY=Target\u quikridr.MPOLICY上左连接Target\u quikridr 其中Target_QUIKMSTR.MPOLICY类似于“%N” 而Target_QUIKMSTR.MSTATUS='54' 日期target_QUIKMSTR.MSTATDATE介于“2020年5月1日”和“2020年5月31日”之间 选择 罗恩, 政治,, iffmpolicy=按rown排序的leadmpolicy,1,2 从原始表格 此SQL检查每一行以及按ROWN字段排序后的行。如果它后面的行是相同的,那么它在检查列中放入1,否则放入2。请注意,您需要确保行是按rown字段排序的,这样才能工作

罗恩 政治 检查 1. 117402N 1. 2. 117402N 2. 3. 117409N 1. 4. 117409N 2. 5. 118443N 1. 6. 118443N 2.
按目标选择订单上的行号。MPOLICY Asc作为行,Target\u QUIKMSTR.MPOLICY来自Target\u QUIKMSTR LEFT JOIN Target\u QUIKMSTR.MPOLICY=Target\u quikridr.MPOLICY LEFT JOIN Target\u QUIKMSTR.MPOLICY=Target\u quikvalf.MPOLICY其中Target\u QUIKMSTR.MPOLICY如“%N”和Target\u QUIKMSTR.MSTATUS='54',DATE Target\u QUIKMSTR.MSTATDATE介于'2020年5月1日'和'2020年5月31日'之间您是否显示了一个预期输出的示例?其他行呢?你想要什么样的价值观来反对这些?@SimonDarr我已经编辑了这个问题并上传了一些图片。我希望这有助于简化事情。我是这个平台的新手,因此,我不知道我周围的一切。是的,你是对的。我为这一混乱道歉。我已经做了更正。而且,我确实输入了代码,但出现了一个错误。错误:SQL编译错误:窗口函数[ROW_NUMBER OVER ORDER BY TARGET_QUIKMSTR.MPOLICY ASC NULLS LAST]可能未嵌套在另一个窗口函数中。哦,我已更新了答案以合并您的原始代码。但我无法正确测试它,因为我的数据库中没有您的表。应该有用。你必须像我上面所做的那样,将你的行号放入子查询或CTE中。是的,它确实起作用了。在我最初的评论之后我也这么做了,很高兴它对你有用!