如何通过JOIN关联查询实现Transition表状态ID到Status表状态描述的映射结果集
如何通过JOIN关联查询替换状态ID为描述?
没问题,要实现把Transition表中的状态ID替换成Status表对应的描述,核心就是对Status表做两次关联(分别对应来源状态和目标状态),给表起不同的别名来区分,具体SQL语句如下:
SELECT s1.ProdStatus_Desc AS from_status, s2.ProdStatus_Desc AS to_status FROM Transition t INNER JOIN Status s1 ON t.From_Status_Id = s1.ProdStatus_Id INNER JOIN Status s2 ON t.To_Status_Id = s2.ProdStatus_Id;
代码说明:
- 我们给Status表分别起了
s1和s2两个别名:s1用来关联Transition表的From_Status_Id,获取对应的来源状态描述,别名设为from_statuss2用来关联Transition表的To_Status_Id,获取对应的目标状态描述,别名设为to_status
- 使用
INNER JOIN是因为你提供的所有状态ID在Status表中都有对应的描述,不会遗漏任何数据。
执行这条SQL后,就能得到你想要的结果集:
| from_status | to_status |
|---|---|
| Complete | NoId-Staged |
| Complete | NoId-Running |
| Complete | Staged |
| Complete | Running |
| Inprogress | Complete |
| Inprogress | NoId-Running |
| Inprogress | Staged |
内容的提问来源于stack exchange,提问作者Abhilash
相关产品推荐
相关产品推荐

