如何用unionAll将两个表合成一个表的问题

我现在有两个表,可以用id关联,表t1的x列存的是int类型的值,表t2的x列存的是string类型的值,我现在想用dolphindb中的unionAll函数将两个表合成一个表,我尝试了以下两种写法都不行:

t1=table(1 2 3 as id, 11 12 13 as x)
t2=table(3 4 5 as id, `a`b`c as x)
unionAll(t1,t2);
/*错误:
unionAll(t1, t2) => Failed to append data to column 'x' 
*/
t1=table(1 2 3 as id, 11 12 13 as x)
t2=table(3 4 5 as id, `a`b`c as x)
unionAll(t1,t2,true);
/*错误:
unionAll(t1, t2, 1) => The data type of column [x] of the input table [#1] is inconsistent with that of other input tables.
*/

请问应该怎么办?

阅读 2k
1 个回答

因为t1和t2的x列中的数据类型不一样,导致不能合并到同一列。
可以将t2的x列列名修改为y,然后再用unionAll进行连接:

t1=table(1 2 3 as id, 11 12 13 as x)
t2=table(3 4 5 as id, `a `b `c as y)
unionAll(t1,t2, true)

返回:
image

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏