【发布时间】:2019-10-16 10:24:40
【问题描述】:
我需要在以下条件下将 3 行合并为一行 - 如果任何列中至少存在一个 J,那么所有列都应该用 J 覆盖。如果有所有 N,我应该得到一个包含所有 N 的行。
我在想类似的东西 -
SELECT BRGNR
, AFTLST
,CASE WHEN EGMK IN ('J','N') THEN 'J' ELSE EGMK END EGMK
,CASE WHEN TDMK IN ('J','N') THEN 'J' ELSE TDMK END TDMK
,CASE WHEN UDMK IN ('J','N') THEN 'J' ELSE UDMK END UDMK
, CASE WHEN FUMK IN ('J','N') THEN 'J' ELSE FUMK END FUMK
FROM IF.TIF_BRUGER_BT
GROUP BY BRGNR
但问题是在那种情况下,当我拥有所有 N 时,所有值都会被覆盖到 J,如果所有值都是 N,我需要拥有 N
【问题讨论】:
-
您能否发布您的示例数据集和预期输出。
-
我们很高兴您在这里,我们需要查看您的代码以便我们提供帮助。
-
样本数据最好显示为formatted text。请参阅here,了解有关如何创建漂亮表格的一些提示。您应该提供输入数据(我猜这是屏幕截图)和该输入的预期输出。请点击下方的edit 链接edit您的问题。