Oracle11g CfWheels:子查询解决方案

Oracle11g CfWheels:子查询解决方案,oracle11g,coldfusion,cfwheels,Oracle11g,Coldfusion,Cfwheels,我正在使用CFWheels并试图找到一种进行子查询的方法。我想知道有哪些选择。目前,我正在使用普通的旧Coldfusion查询构造查询,并在执行中添加一个巨大的查询字符串。我想知道是否有更多更清洁的选项可用使用CFWheels模型功能 我的桌子是: 我希望在表上执行此查询: select COUNT(tb1.formid) as number_of_submission, tb1.formid from ( select formid, room, inspector from test_tb

我正在使用CFWheels并试图找到一种进行子查询的方法。我想知道有哪些选择。目前,我正在使用普通的旧Coldfusion查询构造查询,并在执行中添加一个巨大的查询字符串。我想知道是否有更多更清洁的选项可用使用CFWheels模型功能

我的桌子是:

我希望在表上执行此查询:

select COUNT(tb1.formid) as number_of_submission, tb1.formid
from ( select formid, room, inspector
from test_tbl
group by formid, room, inspector) tb1
group by tb1.formid;
其中显示以下内容:

再详细说明一下,内部查询给出:


有一个分组功能可用于类似以下内容的型号:

counts=model("test_tbl").findAll( 
     select="tb1.formid, COUNT(tb1.formid) AS publishCount"
    , group="formid, room, inspector"
);
但是,除非你能找到一种方法来做一个小组来获得结果,否则你将无法以这种方式使用模型

不过,还有一些其他选择,可能被认为不太有利

使用(db)视图 -我有几个视图是这样分组的,我使用这些模型在这些视图上进行只读交互。缺点是视图中存在一些逻辑,因此进行更改会有点麻烦

使用选择,但作为模型内部的一项功能 -在模型中添加select函数,并通过函数使其可用。当您想要访问这种分组或计数时,您可以像这样调用模型
test\u tbl.getSubmissions()
。这样,您的select代码就位于它应该位于的模型中,而不是控制器中


传闻。。。不久前,我浏览了一系列模型,并用
select
替换了复杂的多表关系,从而显著提高了性能。因此,使用select并不一定是件坏事。

对于类似以下内容的模型,可以使用分组功能:

counts=model("test_tbl").findAll( 
     select="tb1.formid, COUNT(tb1.formid) AS publishCount"
    , group="formid, room, inspector"
);
但是,除非你能找到一种方法来做一个小组来获得结果,否则你将无法以这种方式使用模型

不过,还有一些其他选择,可能被认为不太有利

使用(db)视图 -我有几个视图是这样分组的,我使用这些模型在这些视图上进行只读交互。缺点是视图中存在一些逻辑,因此进行更改会有点麻烦

使用选择,但作为模型内部的一项功能 -在模型中添加select函数,并通过函数使其可用。当您想要访问这种分组或计数时,您可以像这样调用模型
test\u tbl.getSubmissions()
。这样,您的select代码就位于它应该位于的模型中,而不是控制器中


传闻。。。不久前,我浏览了一系列模型,并用
select
替换了复杂的多表关系,从而显著提高了性能。因此,使用select并不一定是一件坏事。

选择formid,按formid一组一组地计算(不同的formid)从测试提交的表单数量吗
不会提供您需要的信息吗?不,它不起作用,主要是因为如果按formid分组,那么那里只有2个表单id,每个提交文件的区别在于一组唯一的formid、room和inspector。是否
选择formid,按formid分组计算(不同的formid)从测试tbl提交文件的数量\u
不会提供您所需的信息?不,它不起作用,主要是因为如果按formid分组,那么那里只有2个表单id,每个提交的区别在于一组独特的formid、room和inspector。