Pet*_*ete 4 sql int varchar inner-join
我一直在寻找问题,但还没找到答案.我想用表1和表2进行内连接,但是一个字段是INT而另一个字段是VARCHAR(结构为"A-INT").就像是:
Table1 Table2
ID NAME WHATEVER ID USER
1 A-001 --- 1 001
2 A-002 --- 2 002
3 A-003 --- 3 003
3 A-004 --- 4 004
...
Run Code Online (Sandbox Code Playgroud)
我该如何构造查询?就像是:
... Table1 INNER JOIN Table2 ON Table1.NAME = Table2.[A-USER] ...
Run Code Online (Sandbox Code Playgroud)
您需要将int
值转换为varchar
并与之连接'A-'
,或者获取varchar
值的数字部分并转换为int
.
根据您使用的数据库,这有点不同,对于SQL Server,它看起来像这样:
select t1.ID, t1.WHATEVER, t2.USER
from Table1 t1
inner join Table2 t2 on t2.ID = cast(substring(t1.NAME, 3, 3) as int)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16704 次 |
最近记录: |