我现在有一个包含三列的表,看起来像这样:
A B C
1 a NULL
2 a NULL
3 a foo
4 b NULL
5 b NULL
6 c bar
7 c NULL
我想添加一个如下所示的列D:
A B C D
1 a NULL foo
2 a NULL foo
3 a foo foo
4 b NULL NULL
5 b NULL NULL
6 c bar bar
7 c NULL bar
换句话说,D在由B分组时从C获取非空值(如果有),我怎么能在SQL中执行此操作?如果它变得过于复杂,我只需将表格导出到文本文件,编写python脚本来计算D,然后将其添加到表格中就更加舒适。
答案 0 :(得分:1)
你在这里:
UPDATE Table n
INNER JOIN
Table m ON n.B = m.B
SET
n.D = m.c
WHERE
m.C IS NOT NULL;