SELECT A.VA_REGION_NAME AS AREA_NAME, A.VA_CIG_TRADEMARK AS CIG_NM, B.DE_BS_CXB AS CXB_REL, A.DE_BS_CXB_PRE AS CXB_PREFROM DCDW.FAC_SCC_ZY_REGION_CXB_PRE ALEFT JOIN DCDW.FAC_SCC_ZY_REGION_CXB B ON B.VA_CIG_TRADEMARK = A.VA_CIG_TRADEMARK AND A.VA_REGION_CODE = B.REGION_CODELEFT JOIN DIM_REGION C ON A.VA_REGION_CODE = B.REGION_CODE = C.PROV_CODE OR A.VA_REGION_CODE = B.REGION_CODE = C.AREA_CODEDB2中执行SQL语句,一直报错在 "CODE = B.REGION_CODE" 后面找到异常标记 "= C".检查没有没错,求大神告知一下
1 回答
弑天下
TA贡献1818条经验 获得超8个赞
LEFT JOIN DIM_REGION C后的ON语句,存在下面的写法:
A.VA_REGION_CODE = B.REGION_CODE = C.PROV_CODE
这样写是从语法上是不对的,只能有一个等号的比较。
我理解A.VA_REGION_CODE = B.REGION_CODE在表A和表B关联时候已经写过了,应该去掉,因此LEFT JOIN DIM_REGION C后面的语句应该是:
LEFT JOIN DIM_REGION C ON B.REGION_CODE = C.PROV_CODE OR B.REGION_CODE = C.AREA_CODE
- 1 回答
- 0 关注
- 487 浏览
添加回答
举报
0/150
提交
取消