我的餐桌为
ID FirstName LastName ReportsTo Position Age
8 Ashley Johnson null Intern 25
5 Noah Fritz Jenny Richards Assistant 30
6 David S Jenny Richards Director 32
3 Jenny Richards null CEO 45
我想用上表select语句中的值在上表中添加一列作为“老板标题”。但它不起作用。
SELECT *,
case when ReportsTo='Jenny Richards' then 'CEO'
else 'None' end
as 'Boss Title'
FROM maintable_L8MOQ where ReportsTo='Jenny Richards' or ReportsTo is null order by age;
答案 0 :(得分:1)
在新的列名周围使用双引号library(dplyr)
library(data.table)
df %>%
filter(!duplicated(rleid(State)))
。这是工作中的demo。
"
答案 1 :(得分:1)
您可以自我加入表格或使用相关的子查询来带出每个员工老板的头衔。
但是,请注意,您的架构没有为此进行适当的优化。您应该指的是每个雇员的老板的id
而不是名字:这会更有效(避免字符串连接)和更准确(不存在同音异义词的风险)。
对于您当前的架构,应该是:
select l.*, coalesce(b.title, 'None') boss_title
from maintable_L8MOQ l
left join maintable_L8MOQ b
on concat(b.firstName, ' ', b.lastName) = l.reportsTo
order by l.age
答案 2 :(得分:0)
select FirstName,LastName,ReportsTO,Position,Age
,(case when ReportsTO='Jenny Richards' then 'CEO'
when ReportsTO is null then 'None'
else 'None'
end) as "Boss Title"
from maintable_H9LYD
where ReportsTO = 'Jenny Richards'
or ReportsTO is null
order by age ASC