以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]生成查询表后其它表不能引用查询表数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=142725)

--  作者:dzy1232016
--  发布时间:2019/11/4 18:49:00
--  [求助]生成查询表后其它表不能引用查询表数据
生成查询表后其它表不能引用查询表数据,提示
Microsoft Jet 数据库引擎找不到输入表或查询 \'~TMPCLPhjfs\'。 确定它是否存在,以及它的名称的拼写是否正确。
其中hjfs为查询表表名
up date {ptjs},(s  elect 获奖姓名,sum(标准分值) as 获奖分数 from {hjdj},{hjbz} where {hjdj}.获奖类型={hjbz}.获奖类型 and {hjdj}.获奖等级={hjbz}.获奖等级 group by 获奖姓名) as {hjfs} set {ptjs}.先进论文课件={hjfs}.获奖分数  where {ptjs}.姓名={hjfs}.获奖姓名”
用它也不
[此贴子已经被作者于2019/11/4 19:27:45编辑过]

--  作者:有点蓝
--  发布时间:2019/11/4 20:32:00
--  
查询表是不存在数据库的,不能使用在sql里。

假设查询表的sql为:select * from 表A inner jion 表B on 表A.id = 表B.id,查询表名称为:查询A

那么在SQL里,不能这样用:select * from 查询A,应该这样用:

select * from (select * from 表A inner jion 表B on 表A.id = 表B.id) as a

即把查询表名称替换为对应的查询表sql

--  作者:dzy1232016
--  发布时间:2019/11/4 21:19:00
--  
版主,我上面那个更新语句要怎么改才能用?
--  作者:dzy1232016
--  发布时间:2019/11/4 21:23:00
--  
或者能用其它方法代替没有?
--  作者:有点蓝
--  发布时间:2019/11/4 22:00:00
--  
即把查询表名称替换为对应的查询表sql。点击查询表窗口的预览按钮可以看到sql。

或者到数据库里创建查询表(access)或者视图(SqlServer),这样就可以在SQL里使用了