【发布时间】:2014-06-08 14:28:30
【问题描述】:
我有一个包含 3 个联合和一个 order by 子句的查询。
因此,如果 s1、s2、s3 和 s4 是包含选择查询的字符串变量,而 oc 是包含 order by 子句的字符串变量,则完整查询是:
s1 & " union " & s2 & " union " & s3 & " union " & s4 & oc
每个选择的格式完全相同,只是参数不同,每个选择都包含多个连接。
此查询失败并出现错误
运行时错误:'-2147467259 (80004005)':
表“eventTbl”缺少从子句条目;出错时 执行查询
但是,以下所有变体都不会导致错误
s1 & " union " & s2 & " union " & s3 & " union " & s4
s1 & oc
s2 & oc
s3 & oc
s4 & oc
导致错误的查询在 .mdb 格式的同一数据库上运行正常。
postgresql 服务器是 postgres 9.0 该程序是带有 ADO 2.6 的 vb6,连接字符串是
提供者=MSDASQL;驱动程序={PostgreSQL ANSI};SERVER=localhost;DATABASE=dbname;UID=postgres;PWD=password;CONNSETTINGS=SET 日期样式到 'DMY'%3b;BOOLSASCHAR=0;TEXTASLONGVARCHAR=1;TrueIsMinus1=1;
编辑 每个单独选择的结构如下:
select Charges.CHARGESCALENAMEF1, MATERIALST12.MATERIALNAMEF1
, workspecificationst11.*
, clientdetail.clientidf9
, eventTbl.*
from Charges
right join (MATERIALST12
right join (workspecificationst11
right join (clientdetail
right join eventTbl
on clientdetail.clientidf9 = eventTbl.clientidf2
) on workspecificationst11.serialnumf5 = eventTbl.workf5
) ON MATERIALST12.SERIALNUMF3 = eventTbl.MATERIALF8
) ON Charges.SERIALNUMF2 = eventTbl.CHARGESCALEF7
where eventTbl.clientidf2 = 15249
and eventTbl.workf5 = 40
and eventTbl.workstatusf14 = 2
and eventTbl.section = 1
and workspecificationst11.showinaccountsf9 = true
;
【问题讨论】:
-
什么是
s1 &?请贴出真实代码。 -
@wildplasser 我已经编辑了问题以显示选择的构成
-
'&'是vb6中的字符串连接运算符
-
您的查询中没有表“tablename”,一定是其他查询失败。
-
@FrankHeikens,对不起,我现在才解决这个问题。抱歉,我想以一种抽象的方式发布了这个问题。是的,查询 eventbl 中的表缺少 from 子句,尽管我看不到如何
标签: postgresql