【发布时间】:2016-03-08 18:36:44
【问题描述】:
您好,我无法在 hsqldb 中使用 mysql 查询来进行单元测试。
抱歉,我无法向您展示真正的代码。 我试图让它尽可能简单:
SELECT A.id,
(SELECT count(*) FROM SomeOtherTable) as myAlias
FROM Orders A WHERE A.someKz = 2 HAVING 1 = myAlias;
会导致
用户缺少权限或找不到对象:MYALIAS
所以我的问题是,如何在HAVING 子句中访问变量myAlias?
此查询在您看来可能并不完整,但它非常简化。例如,有几个带有变量的复杂子选择。
更新
这个问题基本一样
SELECT A.id, (SELECT count(*) as anzahl1 FROM ABTable p WHERE p.Aid = A.id AND p.refNR > 0) as anz1, (SELECT count(*) as anzahl1 FROM ABTable p WHERE p.Aid = A.id ) as anz2, (SELECT count(*) as anzahl1 FROM ABTable p WHERE p.Aid = A.id AND p.SID = 18 ) as anz3 FROM ABable A WHERE
A.someInt IN(1,2)
AND A.someString > '20150308190127'
AND(SELECT Count(*) FROM DTable D WHERE D.Aid = A.id ) = 0 HAVING anz1 = anz2 AND anz3 < anz2 ORDER BY someString ASC LIMIT 1;
【问题讨论】:
-
@SkyWalker 重复的别名应该在哪里?