Sql server 2008 外部联接内的MSSQL操作
我尝试使用唯一值连接两个表,但是在一个表中,它是具有不同长度的字段的一部分,例如: 表一:Sql server 2008 外部联接内的MSSQL操作,sql-server-2008,join,operators,Sql Server 2008,Join,Operators,我尝试使用唯一值连接两个表,但是在一个表中,它是具有不同长度的字段的一部分,例如: 表一: Block_Run_No Vehicle_No 200001.412.20110104 1001 20002.412.20110104 1002 表2 Block_No Departure 200001 3600 20002 7200 现在我想通过Block_No加入他们,并尝试以下方法: SELECT Block_No
Block_Run_No Vehicle_No
200001.412.20110104 1001
20002.412.20110104 1002
表2
Block_No Departure
200001 3600
20002 7200
现在我想通过Block_No加入他们,并尝试以下方法:
SELECT Block_No, Vehicle_No, Departure
FROM Table1,
FULL OUTER JOIN Table2 A on LEFT(Table1.Block_Run_No,CHARINDEX('.',Table1.Block_Run_No)-1) = A.Block_No
但是,它声称无法识别联接中的表达式Table1.Block\u Run\u No
。有人能帮我吗
谢谢
WITH Table1( Block_Run_No,Vehicle_No) AS
(
SELECT '200001.412.20110104', 1001 UNION ALL
SELECT '20002.412.20110104', 1002
),Table2(Block_No, Departure) AS
(
SELECT 200001,3600 UNION ALL
SELECT 20002,7200
)
SELECT Block_No, Vehicle_No, Departure
FROM Table1
FULL OUTER JOIN Table2 A on
LEFT(Table1.Block_Run_No,CHARINDEX('.',Table1.Block_Run_No)-1) = A.Block_No
对我来说很好。你这里有一个错误的逗号
FROM Table1, FULL OUTER JOIN
也许这就是投诉的来源?(Intellisense抱怨说,除非删除表1.Block\u Run\u No,否则无法绑定它,当然还有红色下划线
FULL
)Awww。我辛苦了好几个小时,没有找到那个愚蠢的逗号。。谢谢