【发布时间】:2022-10-09 16:04:11
【问题描述】:
当左表作为输入时,如何获得右表作为输出。我想按 prod 和 geo 列分组,并为所有规则列获取第一个非空值。
我试过这种方法:
SELECT prod, geo,
(SELECT rule_1 FROM temp WHERE rule_1 IS NOT NULL LIMIT 1) as rule_1,
(SELECT rule_2 FROM temp WHERE rule_2 IS NOT NULL LIMIT 1) as rule_2,
(SELECT rule_3 FROM temp WHERE rule_3 IS NOT NULL LIMIT 1) as rule_3,
(SELECT rule_4 FROM temp WHERE rule_4 IS NOT NULL LIMIT 1) as rule_4
FROM temp
GROUP BY prod, geo
但不知何故,这仅适用于第一个产品地理组合,不适用于后续组合
【问题讨论】:
-
这不是免费的代码/脚本编写服务,而是针对特定编程相关问题的问答网站。因此,您必须先自己尝试,当遇到困难时,请回到这里,编辑您的问题并提供您的编码尝试的最小可重复示例:stackoverflow.com/help/minimal-reproducible-example 请参观并阅读如何提问:stackoverflow.com/help/how-to-ask
-
我已经添加了我尝试过的代码。您能否为现有代码提出一些新方法以解决我面临的问题。
标签: sql