Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 SQL联接有问题吗_Sql Server 2008 - Fatal编程技术网

Sql server 2008 SQL联接有问题吗

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

我花了一点时间试着让它工作

我有一个表,它使用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 = LEFT(b.Col1,1))
        OR
        (LEN(b.Col1) = 4 AND a.Col1 = LEFT(b.Col1,2))
)

这是假设您的数据类型是(n)varchar。如果它们是INT或其他数字类型,则必须在join子句中强制转换。

是否有可能将所有周数设置为两个字符(前导零)以使其稍微合理?