使用concat列连接表

时间:2018-01-18 14:57:50

标签: sql sql-server

所以我想要使用SQL加入两个表。

enter image description here

由于他们没有使用的公共专栏

SELECT NEW_ID = CONCAT ('0',table1.ID)

既然我在两个表中都有匹配数据的新列,我该如何连接两个表?有没有办法将NEW_ID列用作临时列,以便我不必更改表1?

3 个答案:

答案 0 :(得分:1)

在你的情况下,适合。当然,在性能方面,它不是最好的解决方案(比较具有不同类型的字段)

Select * 
From Table1 As t1 inner join Table2 as t2
     ON t1.ID = CAST(t2.ID AS INT)

答案 1 :(得分:-2)

你可以在Join中给出具体的表达式。你不必为此添加一个新的列。喜欢这个

SELECT
  *
   FROM Table1 A
       INNER JOIN Table2 B
          ON RIGHT('00'+A.Id,2) = RIGHT('00'+B.Id,2)

答案 2 :(得分:-2)

不同的方式,这里有一个:

 ;WITH CTE AS 
 (
 SELECT NEW_ID = CONCAT ('0',table1.ID) FROM TableA
 )

 SELECT * FROM CTE AS C INNER JOIN TableB AS B ON C.New_ID = B.ID