关于DB2SQL

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_PRE
FROM DCDW.FAC_SCC_ZY_REGION_CXB_PRE A
LEFT JOIN DCDW.FAC_SCC_ZY_REGION_CXB B 
ON B.VA_CIG_TRADEMARK = A.VA_CIG_TRADEMARK AND A.VA_REGION_CODE = B.REGION_CODE
LEFT 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_CODE

DB2中执行SQL语句,一直报错在 "CODE = B.REGION_CODE" 后面找到异常标记 "= C".
检查没有没错,求大神告知一下


月关宝盒
浏览 488回答 1
1回答

弑天下

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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Oracle