原表 TID name flag 001 a 1 002 b 2表1: ID TID value 001 001 V1 表2: ID TID value 001 002 V2我想返回值为: TID name value 001 a V1 002 b V2flag 为1时对应表1,为2时对应表2 表1 表2 通过TID与原表中的TID对应
select a.TID,a.name ,case when flag when 1 b.value else c.value end value from 原表 a left join 表1 b on a.Tid=b.Tid left join 表2 C on a.Tid=C.Tid
写错,是: select a.TID,a.name ,case flag when 1 b.value else c.value end value from 原表 a left join 表1 b on a.Tid=b.Tid left join 表2 C on a.Tid=C.Tid
001 a 1
002 b 2表1: ID TID value
001 001 V1
表2: ID TID value
001 002 V2我想返回值为: TID name value
001 a V1
002 b V2flag 为1时对应表1,为2时对应表2
表1 表2 通过TID与原表中的TID对应
select a.TID,a.name ,case when flag when 1 b.value else c.value end value
from 原表 a
left join 表1 b on a.Tid=b.Tid
left join 表2 C on a.Tid=C.Tid
select a.TID,a.name ,case flag when 1 b.value else c.value end value
from 原表 a
left join 表1 b on a.Tid=b.Tid
left join 表2 C on a.Tid=C.Tid