将Table A的行数据按ID匹配添加至Table B生成结果表
表合并解决方案
原表结构
Table A
ID VALUE_z 1 41 2 32 3 51
Table B
ID TYPE z 1 a 10 1 b 15 1 c 20 2 a 12 2 b 8 2 c 5 3 a 21 3 b 4 3 c 2
需求说明
按ID将Table A的VALUE_z值转为TYPE为z的记录,合并到Table B的数据中,生成包含所有ID对应TYPE(a/b/c/z)的结果表。
实现SQL语句
使用UNION ALL合并两组数据:一组是Table B的原有数据(调整列名),另一组是Table A转换格式后的数据:
SELECT ID, TYPE, z AS VALUE FROM TableB UNION ALL SELECT ID, 'z' AS TYPE, VALUE_z AS VALUE FROM TableA ORDER BY ID, TYPE;
结果验证
执行上述语句后,得到目标结果表:
ID TYPE VALUE 1 a 10 1 b 15 1 c 20 1 z 41 2 a 12 2 b 8 2 c 5 2 z 32 3 a 21 3 b 4 3 c 2 3 z 51
内容的提问来源于stack exchange,提问作者sedsiv
相关产品推荐
相关产品推荐

