ConCat字段的内部联接

时间:2018-02-01 21:30:53

标签: sql

我有表A

Code  Range
A     12569 
B     18175
C     478931

和表B

id      Type 
A12569  0
B18175  1
C478931 0 

如何连接第一个表的两个字段,以便将它们与第二个表连接起来。

我尝试过以下查询

SELECT concat(A.code,B.Range),b.Type FROM DB.tableA A
inner join DB.tableB B 
on Concat(A.code,B.Range)= B.id;

2 个答案:

答案 0 :(得分:0)

只需连接两列:

select *
from table_a a 
  join table_b b on a.code||range = b.id;

以上是标准SQL - 并非所有DBMS都尊重它,并使用不同的运算符来连接字符串。

答案 1 :(得分:0)

SQL Server:

Select a.Code+b.Range as id, b.Type from TableA a inner join tableB b on a.Code + b.Range = b.id

未经测试但应该有效 - 假设所有列都是varchar或nvarchar。如果情况并非如此,可能需要在范围字段上添加一些转换。