我一直在搜索问题,但还没有找到答案。我想用表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
...
如何构建查询?类似的东西:
... Table1 INNER JOIN Table2 ON Table1.NAME = Table2.[A-USER] ...
答案 0 :(得分:9)
您需要将int
值转换为varchar
并将其与'A-'
连接,或者获取varchar
值的数字部分并转换为{{1 }}
根据您使用的数据库,这有点不同,对于SQL Server,它看起来像这样:
int
答案 1 :(得分:0)
尝试连接,
SELECT *
FROM Table1 a, Table2 b
WHERE a.Name = 'A-' + b.User
但请注意,这会降低性能。
答案 2 :(得分:-3)
你想在Table1.NAME = Table2。[A-USER]。
上做内连接如果Table1.NAME,Table2。[A-USER]列数据类型不同意味着,则无法使用内连接。