【发布时间】:2022-01-20 03:48:11
【问题描述】:
我尝试使用左外连接中的子字符串将这两个表与 ALTERNATE_ID 连接起来,但它不起作用。有人可以建议我怎么做。 这里Table1是主表,
SELECT
tab1.USER_NAME,
tab2.ALTERNATE_ID as 'Contract_no'
FROM TABLE1 tab1
LEFT OUTER JOIN TABLE2 tab2 ON Table2.ALTERNATE_ID = SUBSTRING(tab1.ALTERNATE_ID,0,CHARINDEX('/',tab1.ALTERNATE_ID)
表 1:
ALTERNATE_ID 100-0000053-001/0001
表2
ALTERNATE_ID 100-0000053-001
【问题讨论】:
-
加入子串列?桌子小吗,否则会超级慢。
-
你必须从'/'位置数中减去1。子串('100-0000053-001/0001', 1, CHARINDEX('/','100-0000053-001/0001')-1)
-
ON tab1.ALTERNATE_ID LIKE CONCAT(tab2.ALTERNATE_ID, '/%') -
只标记您使用的数据库。
-
@AntonGrig,我在列中使用了它,它工作正常,但在加入时它不起作用 Substring('100-0000053-001/0001', 1, CHARINDEX('/','100- 0000053-001/0001')-1) 有什么办法可以连接这两个表,因为这两个表之间没有其他公共列