Sql 查询选择前 3 个字符

Sql query for selecting the first 3 characters

我正在尝试 select 来自 2 table 的记录,其中第一个 table 名为 DESC 的列(前 3 个字符)应该与第二个的项目列匹配table.

select SUBSTRING(a.[DESC],1,3) from Table1 a
left outer join Table2 b
on a.[DESC] = b.project
where SUBSTRING(a.[DESC],1,3) like b.project

输入: 第一个 Table DESC 列: 值:'2AB F YY'

第二个Table项目专栏: 值:'2AB'

预期输出: Return所有值为2AB的记录

select SUBSTRING(a.[DESC],1,3),* from Table1 a
join Table2 b
on SUBSTRING(a.[DESC],1,3) = b.project

请作废使用像 DESC 这样的保留关键字

SQL Fiddle

MS SQL Server 2017 架构设置:

CREATE TABLE Table1 ([DESC] varchar(255))
CREATE TABLE Table2 (Project varchar(255))
INSERT INTO Table1([DESC])values('2AB F YY')
INSERT INTO Table2(Project)values('2AB')

查询 1:

select SUBSTRING(a.[DESC],1,3)
from Table1 a
join Table2 b
on SUBSTRING(a.[DESC],1,3) = b.project

Results:

|     |
|-----|
| 2AB |