我想在第一个表“p_edw_tmp.TK_NPS_subdate”的列中插入值,这些值必须具有相同的标识符(subs_id = subs_id),但我的请求在此处插入空值我的请求和我得到的结果
INSERT INTO p_edw_tmp.TK_NPS_subdate (activationDate)
SELECT b.activation_date
FROM P_EDW_BO_UNIVERSE.DW_SUBNOS b
WHERE p_edw_tmp.TK_NPS_subdate.subs_id=b.subs_id
结果
survey subno subs_id activationdate
date
NULL NULL NULL 28/03/2013
NULL NULL NULL 14/09/2017
NULL NULL NULL 11/02/2006
NULL NULL NULL 07/02/2007
NULL NULL NULL 20/04/2011
01/07/2015 770611368 60 584 365 NULL
01/07/2015 772682168 3 541 647 NULL
01/07/2015 770827778 6 616 NULL
01/07/2015 774614365 34 444 141 NULL
01/07/2015 796997578 73 457 413 NULL
我希望得到这样的结果
01/07/2015 770611368 60 584 365 07/02/2007
01/07/2015 772682168 3 541 647 20/04/2011
答案 0 :(得分:2)
好像你想要更新现有数据:
string = ''.join(' ' if ch in vowels else ch for ch in string)
答案 1 :(得分:1)
这是因为您只选择列b.activation_date
并指定列(activationDate)
名称并仅插入该列。
您需要指定要在插入中插入的列名称并选择它们。因此,您可以将查询更改为:
INSERT INTO p_edw_tmp.TK_NPS_subdate (survey,subno,subs_id,activationdate)
SELECT b.survey,b.subno,b.subs_id,b.activation_date
FROM P_EDW_BO_UNIVERSE.DW_SUBNOS b
WHERE p_edw_tmp.TK_NPS_subdate.subs_id=b.subs_id