我从2个表中选择记录,其中名为DESC
的第一个表列(前3个字符)应与第二个表的项目列匹配。
我想从表1列DESC
中获取最后2个字符,将其添加到我的输出中,但表2列项目中不存在最后2个字符。
select SUBSTRING(a.[DESC], 1, 3)
from Table1 a
join Table2 b on SUBSTRING(a.[DESC], 1, 3) = b.project
输入:第一个表DESC列:值:'2AB F YY'
第二表项目列:值:'2AB'
预期的输出:返回值2AB的所有记录
列结果:
'2AB YY'
错误的输出:所有从2AB开始的有价记录
RIGHT
可用于获取字符串的最后N个字符。SELECT
CONCAT(LEFT([DESC], 3),' ', RIGHT([DESC], 2))
FROM Table1 t1
WHERE EXISTS
(
SELECT 1
FROM Table2 t2
WHERE t2.project = LEFT(t1.[DESC], 3)
)
ORDER BY 1;