Nateeza Aginity工作台 - 在连接中连接两列

时间:2015-01-27 16:17:24

标签: sql

嗨所有目前我有一个问题,我有两个在表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。

非常感谢你的帮助。

1 个答案:

答案 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

以上对我有用