我已经能够创建从Excel到SQL Server的数据连接并成功执行许多SQL查询.但如果它包含一个临时表,我无法使任何TSQL工作.例如:
select * into #t from compass3.dbo.freq
select * from #t where freq_id>2
Run Code Online (Sandbox Code Playgroud)
(显然在这种情况下不需要使用#t:我只是给出了最简单的例子.)这在SSMS中工作正常但是当通过Excel执行时我收到错误消息"我们无法刷新连接"audbbicube '.表'离子Query1'可能不存在."
在其他一些SO帖子中,人们建议添加set nocount on,但这种情况没有区别.
我想得到具体记录的数量.所以我的查询将如下所示......
SELECT
ID,
NAME,
(SELECT...) AS UserCount // Stmt1
FROM MyTable
Run Code Online (Sandbox Code Playgroud)
问题在于,'Stmt1'是一个复杂的语句,它不能写成内部查询.好吧,我可以使用函数,但语句包含'CREATE TABLE',因此我收到以下错误消息
Cannot access temporary tables from within a function.
完成任务的最佳方法是什么?