CF에서 행이 다른 행의 목록에있는 QoQ를 수행하려고합니다. 기본적으로 cftags에서 cfscript로 일부 코드를 이동합니다 (중요하지 않음). 태그에서 우리는 주요 쿼리를 가지며 우리는 몇 가지 중첩을하는 몇 개의 둥지를 가지고 있습니다. 나는 CFScript를하고 노력하고 다음과 같은 구문이이 이동하고있다 : 나는 다음과 같은 시도Coldfusion : QoQ에서 선택 WHERE X in (SELECT Y FROM QOQ)가 작동하지 않습니다.
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가 그런 식으로 작동하지 않을 수도 있습니다. 두 가지 코드없이 시도 할 수있는 또 다른 방법이 있습니까? 그냥 더 읽기 쉽고 변수를 두 번 지정할 필요가 없습니다.
_ = new Underscore();// instantiate the library
submissions = _.groupBy(arguments.answers, 'submission_id');
groupBy()
는 키가 그룹 요소의 값입니다 구조를 (반환
내가 곁에 수 없지만 * 일을 실패하여 의미를 명확히하기 위해 도움이 될 것이다. 오류가 발생하고 결과가 0이됩니다 ..? – Leigh
오류. "Syntax error at"submission_id IN (SELECT submissions_id "예상 조건 [like | in | between]") blah blah – Leeish
전체 오류 메시지를 게시 할 수 있습니까? –