我有3张桌子,根据特定条件加入它们后,我得到以下输出
name assigned
abc laptop
def laptop
def Null
ghi PC
ghi Laptop
ghi Null
jkl Null
mno pc
pqr tablet
xyz Null
xyz Null
我想要一个新列并将其标记为“ 1”,即使给定名称的任何分配值都不为空。
O / P应该看起来像
name assigned Flag
abc laptop 1
def laptop 1
ghi PC 1
jkl Null 0
mno pc 1
pqr tablet 1
xyz mobile 0
感谢您的帮助
答案 0 :(得分:2)
使用CASE
。尝试,喜欢:
SELECT name, assigned, CASE assigned IS NULL THEN 0 ELSE 1 END as flag FROM ...
答案 1 :(得分:0)
您可以尝试以下操作-使用coalesce()
SELECT name, max(assigned),coalesce(max(assigned),1,0) as flag
from tablename
group by name