一、工作总结:
今天工作中遇到了这样一个需求,具体是根据某张表的某一列值得不同,进行不同关联操作。起初自己的想法是采用UNION操作,把两种情况连接起来,但是会出现一个问题,当进行动态传值SQL拼接的时候,只能给最后面加,而不能给两种情况的结果集都动态拼接,导致查询结果和预期不一样。
自己的SQL语句如下,自己使用UNION进行结果集连接。
SELECT DISTINCT C.TUUSERNA,C.TUCLASID,C.TUUSERID,C.TUEMAIL,C.TUPHONE,C.TUACEMAIL,C.TUACMOBILE,C.TUCOMP,C.TUACTIVE, C.TUENNAME,B.UJPAPARV AS TUUSERNA,A.UJPAPARV AS OFFCCODE,D.TBDTL2 FROM FROM WEBNFLIB.URUSERPF C INNER JOIN WEBNFLIB.URUSOBNOPF B ON B.TUUSERID=C.TUUSERID INNER JOIN WEBNFLIB.URUSOBNOPF A ON A.TUUSERID=C.TUUSERID INNER JOIN CDFLIB.CDTABDPF D ON D.TBCODE=A.UJPAPARV WHERE B.UJPAPARN = 'FWD_FRTP' AND A.UJPAPARN = 'FWD_OFFC' AND C.TUACTIVE=1 AND C.TUCLASID IN('A','B') AND D.TBTYPE='OFFC' UNION SELECT DISTINCT C.TUUSERNA,C.TUCLASID,C.TUUSERID,C.TUEMAIL,C.TUPHONE,C.TUACEMAIL,C.TUACMOBILE,C.TUCOMP,C.TUACTIVE, C.TUENNAME,B.UJPAPARV AS TUUSERNA,A.UJPAPARV AS OFFCCODE,D.TBDTL2 FROM FROM WEBNFLIB.URUSERPF C INNER JOIN WEBNFLIB.URUSOBNOPF B ON B.TUUSERID=C.TUFUSRID INNER JOIN WEBNFLIB.URUSOBNOPF A ON A.TUUSERID=C.TUFUSRID INNER JOIN CDFLIB.CDTABDPF D ON D.TBCODE=A.UJPAPARV WHERE B.UJPAPARN = 'FWD_FRTP' AND A.UJPAPARN = 'FWD_OFFC' AND C.TUACTIVE=1 AND C.TUCLASID IN('A','B') AND D.TBTYPE='OFFC'