MySQL新手入门:如何临时合并两张表用于下拉框展示
用UNION ALL实现临时表合并(MySQL)
嘿,作为MySQL新手,这个临时合并两张表的需求其实超简单,用UNION ALL就能直接搞定,完全不需要创建永久表,直接写查询语句就能得到你要的下拉框数据源!
核心思路
因为你需要的是把两个结构相似的结果集拼接在一起,只需要让两张表的输出列名和数据类型对应上,然后用UNION ALL把它们合并就行:
- 表1的
fund列需要别名成projects,和表2的列名保持一致 UNION ALL会直接拼接两个结果,不会做去重操作(效率比UNION更高,而且你的场景也不需要去重)
具体SQL语句
SELECT id, fund AS projects FROM 表1 UNION ALL SELECT id, projects FROM 表2;
效果说明
执行这个语句后,返回的结果就是你期望的表3的样子:
- 先展示表1的所有数据,列名统一为
id和projects - 接着展示表2的所有数据
- 这个结果是临时的,只会在查询执行时生成,不会修改原表,完美适配下拉框展示的需求
另外要注意:确保两张表的id列、文本列(fund和projects)的数据类型是兼容的,从你的示例来看是没问题的,如果实际场景中有类型差异,可能需要用CAST()函数做简单的类型转换。
内容的提问来源于stack exchange,提问作者Robert Idicheria
相关产品推荐
相关产品推荐

