mysql如何实现全外连接并去除重复列?

MySQL如何实现全连接,并将冗余的列合并在一起

ent_name    a_attr1    a_attr2     a_attr3
    e1          5          6           2020.1.2
    e2          8          9           2020.2.6
    e4          4          3           2019.12.6

    b_attr1     b_attr2     ent_name    b_attr3
    czq         5           e2          6
    bfx         10          e8          5
    ck          2           e1          4

假设现在有a,b两张表属性分别如上,现在希望利用ent_name这个属性作为key,将两张表外连接合并实现如下效果:

ent_name    a_attr1     a_attr2     b_attr2     b_attr3
    e1          5           6           2           4
    e2          8           9           5           6
    e4          4           3                       
    e8                      0           10          5

即选择自己的目标属性进行外连接,如果直接union,会出现两列ent_name属性
这种合成用pandas的merge很好实现,但是想请问如何用mysql语句实现这种操作?
附pandas外连接使用方法,希望用mysql语句能实现等效操作

def merge_csv(in_file_list, out_file_name, column_list, default_value_list, key_column):
	global output
	    i = 0
	    for file, columns in zip(in_file_list, column_list):
	        if i == 0:
	            output = pd.read_csv(file, usecols=columns, encoding='gbk')
	            i += 1
	            continue
	        data = pd.read_csv(file, usecols=columns, encoding='gbk')
	
	        output = pd.merge(output, data, how='outer', left_on=key_column, right_on=key_column)
	
	    # print(output.isna())
	    for default_value in default_value_list:
	        # print(default_value)
	        output.fillna(default_value, inplace=True)
	    print(output)
	    output.to_csv(out_file_name,index=False)  # 写入csv文件
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值