事实表联接

时间:2018-06-26 16:18:29

标签: sql sql-server data-warehouse

我有两个事实表A和B。

enter image description here

A中有一个positionkey列,B有4个列,分别称为position_1,position_2, position_3,position_4并具有该位置的指示符。例如,如果B在position_1下有2,则意味着分配了两个位置为1的人。如果B在position_2下有1,则意味着分配了一个位置2的人。 我想按位置和其他键将这两个表连接起来。

有可能这样做吗?

1 个答案:

答案 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
相关问题