EXCEL中SQL Server Where 使用某一列的数据作为 查询条件的命令?

命令如下:select a.* from tsuhan_test a where a.序列号 in ('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)报错列名无效,求指点,万分感谢
列描述c:\test.xls',sheet1$A:A)或者c:\test.xls',sheet1$A1:A10)都会在sheet1$这一段报错

1、将需要处理的记录复制到一个新的工作表,然后将在数据库表中存在唯一值的列(比如物料编码)后插入一列,用 CONCATENATE函数将其前后加上“'”。

2、将加“'”的这列数据复制到一个文本文件中。

3、关闭并保存这个新的文本文件,然后用Word 将其打开。

4、快捷键Ctrl+F,点击“替换”,查找内容中输入“^p”,替换为输入“,”。

5、在 sql server 的查询界面,输入以下SQL语句:use 数据库名,select * from  表名  ,where  字段名  in ,(Word 中的文本)。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-30
你只是指定了表名,还应指定列名,SQL的IN子查询基本格式应该是:
select a.* from tsuhan_test a where a.序列号
in (select b.序列号 from [] b)
中括号里面的内容使用你的xls描述追问

就是不知道怎么加列描述

本回答被网友采纳
第2个回答  2019-11-30
('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$A1:A500)
试试追问

提示“sheet1$A1“有语法错误

追答

('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=c:\test.xls',[sheet1$A1:A500])
试试这个。

追问

还是一样的提示列名无效

第3个回答  2019-12-03
sheet1$,两边加个中括号试试。
相似回答