Mar*_*tin 2 sql t-sql sql-server join
Table One
ID Code Amount
1 2 100
2 2 200
Table Two
ID Key Description
1 12 Bag
2 22 Cap
Run Code Online (Sandbox Code Playgroud)
我想加入选择两个表来连接一个表的2列.在表格中说我想在t1.id + t1时加入它们.code = t2.key.在图形我想22 = 22还是12 = 12其中22 or 21的第一面是t1.id+t1.code
查询:
Select *
from table1 AS t1 INNER JOIN table2 AS t2 ON (t1.id +""+ t1.code)= t2.key
Run Code Online (Sandbox Code Playgroud)
错误:
消息1038,级别15,状态4,行1对象或列名称缺失或为空.对于SELECT INTO语句,请验证每列是否具有名称.对于其他语句,请查找空别名.不允许使用定义为""或[]的别名.将别名更改为有效名称.
你应该使用''空字符串:
Select *
from table1 AS t1
INNER JOIN table2 AS t2 ON (t1.id +''+ t1.code)= t2.[key]
-- key is reserved keyword so you need to quote it
Run Code Online (Sandbox Code Playgroud)
或者CONCAT:
Select *
from table1 AS t1
INNER JOIN table2 AS t2 ON CONCAT(t1.id, t1.code)= t2.[key];
Run Code Online (Sandbox Code Playgroud)
如果列是INT你还需要扮演他们喜欢:CAST(t1.id AS VARCHAR(10)).
请注意,您的加入效果不佳.