mysql select 合并列_数据库 – 在mySQL中,是否可以从两个表中进行SELECT并合并列?...

这篇博客探讨了如何使用SQL进行不寻常的数据合并。示例中展示了如何基于(id,name)连接两个表,并组合特定列。同时,还提到了如何在保留或去除重复行的情况下,组合两个查询的结果。博客内容适用于需要高级SQL操作的数据分析师或数据库管理员。
摘要由CSDN通过智能技术生成

您可以使用(id,name)作为加入条件,将两个表中的列组合在一起:

select

a.id as id,a.name as name,a.somefield1 || ' ' || b.somefied1 as somefield1

from tablea a,tableb b

where a.id = b.id

and a.name = b.name

and b.name = 'mooseburgers';

如果您只想加入(id)并组合名称和somefield1列:

select

a.id as id,a.name || ' ' || b.name as name,tableb b

where a.id = b.id

and b.name = 'mooseburgers';

虽然我不得不承认这是一种相当不寻常的做事方式.我假设你有你的理由:-)

如果我误解了你的问题并且你只想要两个表的更传统的联合,那么使用类似的东西:

select id,name,somefield1,'' as somefield2 from tablea where name = 'mooseburgers'

union all

select id,somefield2 from tableb where name = 'mooseburgers'

这不会合并行,而只会附加两个查询中的行.如果要删除重复行,请单独使用union,但如果您确定没有重复项或者您不希望删除它们,则union all通常更有效.

根据您的编辑,实际查询将是:

select name,somefield1 from tablea where name = 'zoot'

union all

select name,somefield1 from tableb where name = 'zoot'

(或者如果你不想要重复,其中a.name == b.name ==’zoot’和a.somefield1 == b.somefield1).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值