在 CF 中,我正在尝试做一个 QoQ,其中行位于其他行的列表中。基本上将一些代码从 cftags 移动到 cfscript(为什么不重要)。在标签中,我们有一个主查询,我们有几个可以做一些繁重工作的嵌套。我将其移至 cfscript 并具有以下有效语法:
var submissionList = new Query(dbtype="query", QoQsrcTable=ARGUMENTS.answers, sql="
SELECT submission_id FROM QoQsrcTable GROUP BY submission_id
").execute().getResult();
var submissions = new Query(dbtype="query", QoQsrcTable=ARGUMENTS.answers, sql="
SELECT * FROM QoQsrcTable WHERE submission_id IN (#submissionList.submission_id#)
").execute().getResult();
我尝试了以下方法,但它无法正常工作:
var submissions = new Query(dbtype="query", QoQsrcTable=ARGUMENTS.answers, sql="
SELECT * FROM QoQsrcTable WHERE submission_id IN (SELECT submission_id FROM QoQsrcTable GROUP BY submission_id)
").execute().getResult();
我认为第二个例子应该有效。我试过以各种方式弄乱它。但似乎无法弄清楚我做错了什么。也许嵌套的 QoQ 不能那样工作。有没有另一种方法可以在没有两块代码的情况下完成我正在尝试的事情?只是这样它更具可读性,我不必两次分配变量。