Sql server 2008 SQL联接有问题吗
我花了一点时间试着让它工作 我有一个表,它使用1或2位数字表示一周。(1至52) 我有另一个表,它使用1或2位数字表示周,但也附加了2位数字年份(117、1017、2217等)(117到5217) 这是我可以用来连接这些表的唯一字段 我如何在1=117或12=1217…等时将表A与表B连接起来 年份部分可以省略。试一试Sql server 2008 SQL联接有问题吗,sql-server-2008,Sql Server 2008,我花了一点时间试着让它工作 我有一个表,它使用1或2位数字表示一周。(1至52) 我有另一个表,它使用1或2位数字表示周,但也附加了2位数字年份(117、1017、2217等)(117到5217) 这是我可以用来连接这些表的唯一字段 我如何在1=117或12=1217…等时将表A与表B连接起来 年份部分可以省略。试一试 SELECT a.Col1,b.Col1 FROM tablea a JOIN tableb b ON ( (LEN(b.Col1) = 3 AND a.Col1
SELECT a.Col1,b.Col1
FROM tablea a
JOIN tableb b ON (
(LEN(b.Col1) = 3 AND a.Col1 = LEFT(b.Col1,1))
OR
(LEN(b.Col1) = 4 AND a.Col1 = LEFT(b.Col1,2))
)
这是假设您的数据类型是(n)varchar。如果它们是INT或其他数字类型,则必须在join子句中强制转换。是否有可能将所有周数设置为两个字符(前导零)以使其稍微合理?