嗨所有目前我有一个问题,我有两个在表A中取两列,将它们组合并在连接中与表B中的一列进行比较。表A中的两列定义为字符(3)和Charters( 5),而表B中的列定义为varchar(600)
我现有的查询看起来像这样,但它无法正常工作
SELECT DISTINCT A.CLIENT_NO, TRIM(A.BRANCH_NO)||TRIM(A.ACCT_NO) as
ACCOUNT_NUMBER, B.ID1 from TABLEA A
LEFT JOIN TABLE B ON CONCAT(TRIM(A.BRANCH_NO), TRIM(A.ACCT_NO)) = B.ACCT_NUM
以上不起作用,我也试过
SELECT DISTINCT A.CLIENT_NO, TRIM(A.BRANCH_NO)||TRIM(A.ACCT_NO) as
ACCOUNT_NUMBER, B.ID1 from TABLEA A
LEFT JOIN TABLE B ON TRIM(A.BRANCH_NO)+TRIM(A.ACCT_NO) = B.ACCT_NUM
我也尝试过显式类型转换,但也没有用
SELECT DISTINCT A.CLIENT_NO, TRIM(A.BRANCH_NO)||TRIM(A.ACCT_NO) as
ACCOUNT_NUMBER, B.ID1 from TABLEA A
LEFT JOIN TABLE B ON CAST(TRIM(A.BRANCH_NO) AS VARCHAR(600))+CAST(TRIM(A.ACCT_NO)AS VARCHAR(600)) = B.ACCT_NUM
有人可以问我错过了什么吗?或者我只是错误地连接两列。我一直得到的错误是使用显式转换错误或无法识别函数concat。
非常感谢你的帮助。
答案 0 :(得分:0)
好吧我想我想到了这一点,nateeza dbms的工作方式与我之前认为的有点不同
SELECT DISTINCT A.CLIENT_NO, TRIM(A.BRANCH_NO)||TRIM(A.ACCT_NO) as
ACCOUNT_NUMBER, B.ID1 from TABLEA A
LEFT JOIN TABLE B ON TRIM(A.BRANCH_NO) || TRIM(A.ACCT_NO) = B.ACCT_NUM
以上对我有用