SELECT T.CO,T.EVEBXINSHPQTY,....,T.PRCUN,T2.TXEMP FROM TXD000GHFA1 T ,T08040DAC21 T2
WHERE T.CO = T2.CO(+) AND T.DTLVDP = T2.DTLVDP(+) AND T.PDNO = T2.PDNO(+)
AND NVL(T.PDURCLASSID,'@') = NVL(T2.PDURCLASSID,'@')(+) AND NVL(T.SPEC,'@') = NVL(T2.SPEC,'@')(+) 如上面的SQL:
我的两个TABLE T,T2想通过5个栏位相连接,因为T2资料不全时,也要查出T1的资料,所以用到右连接。但因为后面的两个栏位是可以为NULL的,所以要加NVA()处理,这样之后,NVL(T2.PDURCLASSID,'@')(+) AND NVL(T.SPEC,'@') = NVL(T2.SPEC,'@')(+)就报错,,请各位大侠帮忙看一下。
WHERE T.CO = T2.CO(+) AND T.DTLVDP = T2.DTLVDP(+) AND T.PDNO = T2.PDNO(+)
AND NVL(T.PDURCLASSID,'@') = NVL(T2.PDURCLASSID,'@')(+) AND NVL(T.SPEC,'@') = NVL(T2.SPEC,'@')(+) 如上面的SQL:
我的两个TABLE T,T2想通过5个栏位相连接,因为T2资料不全时,也要查出T1的资料,所以用到右连接。但因为后面的两个栏位是可以为NULL的,所以要加NVA()处理,这样之后,NVL(T2.PDURCLASSID,'@')(+) AND NVL(T.SPEC,'@') = NVL(T2.SPEC,'@')(+)就报错,,请各位大侠帮忙看一下。
SELECT T.CO,T.EVEBXINSHPQTY,....,T.PRCUN,T2.TXEMP FROM TXD000GHFA1 T ,T08040DAC21 T2
WHERE T.CO = T2.CO(+) AND T.DTLVDP = T2.DTLVDP(+) AND T.PDNO = T2.PDNO(+)
AND NVL(T.PDURCLASSID,'@') = NVL(T2.PDURCLASSID,'@') AND NVL(T.SPEC,'@') = NVL(T2.SPEC,'@')
当T中PDURCLASSID有值,而T2中无对应资料,则不会做右连接!