1

我想选择列和连接表,其中连接条件将选定的列连接到点上。例如

SELECT TBL1.ID,
TBL1.COUNTRY As A,
TBL1.STATE As B,
TBL1.CODE As C
FROM TBL1, TBL2
WHERE TBL2.ID = A+'.'+B+'.'+C

数据TBL2.ID看起来像“ US.NY.61 ”,其中USTBL1.COUNTRYNYTBL1.STATE,等等。

更新:SQL 小提琴:http ://sqlfiddle.com/#!3/26b6b/4

4

2 回答 2

0

试试这样的东西怎么样

SELECT TBL1.ID,
TBL1.COUNTRY As A,
TBL1.STATE As B,
TBL1.CODE As C
FROM TBL1 
  INNER JOIN TBL2 ON CAST(TBL1.COUNTRY AS varchar(20)) + '.' + CAST(TBL1.STATE AS varchar(20)) + '.' + CAST(TBL1.CODE AS varchar(20)) = CAST(TBL2.ID AS varchar(20))

在组合和比较它们之前,添加了将 4 个字段转换为 varchar 的代码。

于 2012-04-25T20:45:40.487 回答
0
SELECT T.name,T2.nam FROM
T INNER JOIN T2
ON T.id = (T2.one + '.' + CAST(T2.two as varchar(50)) + '.' + CAST( T2.thr as varchar(50) ))
于 2012-04-25T21:14:53.963 回答