首页 > 解决方案 > SQL FROM 子句中的两个表语法错误

问题描述

我正在尝试比较具有不同列的两个表。

我尝试了下面的代码,但它给出了语法错误

语法错误:“代码阶段引发的异常:FROM 子句中的语法错误”

SELECT [Sheet1].[ID], [Sheet2].[ID_EXT] from [Sheet1], [Sheet2]
A As (SELECT [Sheet1].[ID], ([Sheet1].[Email] + ';' + [Sheet2].[Long Email]) as email from [Sheet1] inner join [Sheet2] 
on [Sheet1].[ID] = FORMAT([Sheet2].[ID_EXT],'00000000000')  
WHERE [Sheet2].[Type] = 3 AND UCase [Sheet1].[Email] <> UCase [Sheet2].[Long Email]) 
B As (SELECT [Sheet1].[ID], ([Sheet1].[Batchcode] + ';' + str([Sheet2].[Code])) as Code from [Sheet1] inner join [Sheet2] on [Sheet1].[ID] = FORMAT([Sheet2].[ID_EXT],'00000000000') WHERE [Sheet2].[Type]= 3 AND [Sheet1].[Batchcode]<>FORMAT([Sheet2].[Code],'0000))
SELECT [A].[ID], [A].[Email], [B].[Batchcode] from [A] Full outer join [A] ON [A].[ID]=[B].[ID_EXT]

标签: sqlsql-serverms-access

解决方案


Instead of A as (select...) you need , (select ... ) as A.


推荐阅读