有A、B两个表,根据字段a做判断,如果B中有记录,则返回相应字段,如果字段值为空或者连接无结果,则相应字段赋值为N:
A表
a code name (注:字段名称列)
12 081 jack
13 082 terry
14 083 tom
B表
a valu (注:字段名称列)
12 Y
13
返回结果为:
a code name valu (注:字段名称列)
12 081 jack Y
13 082 terry N
14 083 tom N
实际上A表是多个表查询得到的,cost很大,而B是参数表,虽然valu是Y、N,但字段类型为CHAR,很多空格
a的取值有二百左右
方法
select A.*,B.valu from A left join B on A.a=B.a
一个大表,搞了半天,其实就是一个left join可以实现的。还看了半天执行计划,最后发现时on的条件写的有问题~~ 惭愧
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26451536/viewspace-749107/ ,如需转载,请注明出处,否则将追究法律责任。