我有两张桌子,
表E
e.part e.source e.col1 e.col2 e.col3 e.event ecol4 ecol5
AAA XXXXX a b c e.e1 d f表F
f.part f.source f.col1 f.col2 f.col3 f.event f.col4 f.col5
AAA XXXXX a b c f null null我正在使用UNION创建最终的表EF,该表包含使用CASE语句创建的列EF.type和其他列。如果事件来自表F,且ftype值为f,则EF.type值应填充为‘ftype值’。
表E和表F具有相同的部分、源、col1、col2和col3值,
表EF
ef.part ef.source ef.col1 ef.col2 ef.col3 ef.event ef.c4 ef.c5 ef.c6 EF.type
AAA XXXXX a b c e.e1 d e f null
AAA XXXXX a b c f null null null ftype但我希望最终输出是这样的:
ef.part ef.source ef.col1 ef.col2 ef.col3 ef.event ef.col4case ef.c5case ef.c6case EF.type
AAA XXXXX a b c e.e1 d e f ftype 将表F和表E中的列值合并到最终表EF中的一行中。
发布于 2017-03-26 22:30:53
如果我理解正确的话,您可以使用join
select e.part, e.source, e.col1, e.col2, e.col3,
e.event, e.col4, e.c5, f.c6case, F.type
from e join
f
on e.part = f.part and e.source = f.source and e.col1 = f.col1 and
e.col2 = f.col2 and e.col3 = f.col3;至少这对你问题中的数据是有效的。
https://stackoverflow.com/questions/43029940
复制相似问题