我有两个事实表A和B。
A中有一个positionkey列,B有4个列,分别称为position_1,position_2, position_3,position_4并具有该位置的指示符。例如,如果B在position_1下有2,则意味着分配了两个位置为1的人。如果B在position_2下有1,则意味着分配了一个位置2的人。 我想按位置和其他键将这两个表连接起来。
有可能这样做吗?
答案 0 :(得分:0)
您可以在JOIN条件下使用CASE。
ON a.PositionValue = CASE
WHEN a.PositionKey=1 THEN b.Position_1
WHEN a.PositionKey=2 THEN b.Position_2
etc...
END