sql - 使用 SQL 查询 Excel 电子表格时,如何修复 JOIN 语句中的语法错误?

标签 sql excel jet

我有一个 Excel 工作簿,其中包含多个电子表格。我需要使用 Jet SQL 为桌面应用程序从中提取数据。我可以毫无问题地查询各个表,但是当我尝试使用需要连接的语句时,它会在 JOIN 语句中给出一般语法错误。我遇到问题的查询是:

SELECT      [Subscribed Email IDs].PIN
        ,   [Subscribed Email IDs].[Email Id]
        ,   [SubscriptionList].[Dealer Account]
        ,   [SubscriptionList].[Dealer Name] 
FROM        [Subscribed Email IDs$B4:C30000] 
INNER JOIN  [SubscriptionList$B4:J30000] 
ON          [Subscribed Email IDs].[PIN]        = [SubscriptionList].[Pin Txt] 
WHERE       [Subscribed Email IDs].[Email Id]   = '<email address value here...>'

我必须使用范围,因为电子表格顶部有额外的行,不包含标题或数据,并且“A”列不包含任何内容。我尝试过不使用范围,但得到了相同的错误,所以我认为这是我编写查询的方式更基本的东西。我缺少什么?

最佳答案

您在 ON 子句中使用了不同的范围变量:

 ... FROM [Subscribed Email IDs$B4:C30000]
 ... ON [Subscribed Email IDs].[PIN] 

我建议您使用较短范围的变量,例如T:

 ... FROM [Subscribed Email IDs$B4:C30000] AS T
 ... ON T.[PIN] 

关于sql - 使用 SQL 查询 Excel 电子表格时,如何修复 JOIN 语句中的语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10398491/

相关文章:

.net - 'Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册

sql - mysql/sql服务器: SELECT @@identity

php - 使用 sql LIKE 来匹配完整的单词

excel - 逐行比较Excel中的两列?

c - 需要解决这个错误

sql - MS Access (Jet/ACE) 中的无表 UNION 查询

sql - 是否可以在 postgresql 中为每个主键创建索引?

sql - 无法清除 SQL 注入(inject)的结果

java - 为什么单元格值即使有内容也会返回为空字符串?

excel - scripting.dictionary 无法识别数字