SQL 查询语句中where 条件中CASE语法的使用

49 阅读1分钟

最近突击学习了java以后,在项目实践中,发现一些问题。同一个字段,A同学使用了我们数据库中的码值1-4存表,B同学从外围系统拿到的数据10,12,11,空去存表,导致两个表关联查询时,遇到了困难,最后发现了CASE语句。记录一下。直接上代码

 SELECT * FROM A INNER JOIN B ON A.NO=B.NO
 AND A.TYPE =
 CASE
 WHEN B.TYPE = 10 THEN 1
 WHEN B.TYPE = 12 THEN 2
 WHEN B.TYPE = 11 THEN 3
 WHEN B.TYPE = NULL THEN 4
 END
 WHERE A.ID = 'XXXXX'

通过这种简单的case语法,我们就不用再重新刷数处理了。非常房便