Merge 的功能疑问
Merge 的功能比较强大
根据现有的文档有点不是特别清晰。有几个变化参数在使用过程中需要特别考虑
是否有序,如果无序会带来的后果
原表是否有主键
表达式是否有参数
表达式参数是否是表的主键
等几个问题,详细的截图看一下,麻烦解释一下。最好能更新网站上的这个函数的说明方法
"Merge 的功能比较强大 根据现有的文档有点不是特别清晰。有几个变化参数在使用过程中需要特别考虑 是否有序,如果无序会带来的后果 原表是否有主键 表达式是否有参数 表达式参数是否是表的主键 .."
Merge 的功能比较强大
根据现有的文档有点不是特别清晰。有几个变化参数在使用过程中需要特别考虑
是否有序,如果无序会带来的后果
原表是否有主键
表达式是否有参数
表达式参数是否是表的主键
等几个问题,详细的截图看一下,麻烦解释一下。最好能更新网站上的这个函数的说明方法
merge 如果指定了 x 参数则按照成员的 x 值来对成员做比较,如果省略了 x 参数则用 ~.v() 值来对成员做比较。
merge 不关心 x 或者 ~.v() 是不是记录的主键,这跟集合的交并运算是一样的,集合的元素允许有重复。
merge 如果没有指定 @o 选项则认为数据是按比较值有序的,这时会采用有序归并法做集合运算,如果实际数据不是按比较值有序则计算结果会不对。
我猜楼主是想实现不同结构的表如何合并到一个表,不同的表之间,其各自的字段名不全一样,且字段的顺序也不一样。
比如,表 1 的字段是 a,b,c,d,e,表 2 的字段是 b,d,a,b,c,表 3 的字段是 a,c,e,表 4 的字段是 b,d,f,g…. 最终合并成包含所有字段的一张表。
这种字段名不一致且无序的情况不适用于 merge。merge 是对多个结构相同的表 (字段名, 字段顺序, 字段数量都相同) 有序归并,当然也适用于无序 merge@o,此时的有序和无序是针对字段值,字段名还是要保证名称,顺序和数量相同(my two cents)。
如果是字段不一致的多表合并,要么转成 json,要么先确定所有字段名后,用 modify@f()或者 insert@f()。