表部门包含部门id和名称。当同一部门id不止一次时,需要在名称中填充为null。
Dept Name 200 ABC 200 XYZ 100 DEF
字符串输出
Dept Name 200 NULL 100 DEF
型
axr492tv1#
下面是使用窗口函数的解决方案。
select distinct dept , case when count(*) over (partition by dept) > 1 then NULL else [name] end as [Name] from dept order by dept;
字符串
cedebl8k2#
执行GROUP BY。如果Dept只有一行,则返回其名称,否则返回NULL。
GROUP BY
select Dept, case when count(*) = 1 then max(Name) end from department group by Dept
2条答案
按热度按时间axr492tv1#
下面是使用窗口函数的解决方案。
字符串
cedebl8k2#
执行
GROUP BY
。如果Dept只有一行,则返回其名称,否则返回NULL。字符串