我编写了一个密码查询,该查询返回一组结果(resultList)。然后,我想查询resultList以使用WHERE根据resultList中的值创建三个进一步的结果集。
我有以下密码:
$count = ew_Execute("SELECT COUNT(*) FROM ems_defects_codes WHERE DEF_CODE = '$def_code'");
$alphabet = range('A', 'Z');
$start_letter = 0;
$rowno = 1;
for ($i = 0; $i < $count; $i++) {
$objPHPExcel->getActiveSheet()->mergeCells($alphabet[$start_letter] . $rowno . ':' . ($alphabet[$start_letter] + $alphabet[$i]) . $rowno);
}
请问该如何处理?
非常感谢!
答案 0 :(得分:1)
我使用了大小写,并在我的数据集上进行了尝试:
MATCH (g:Group)
WITH COLLECT(g) AS my_set
UNWIND my_set AS g
WITH g
RETURN COLLECT(CASE WHEN g.status='APPROVED' THEN g END) AS APPROVED_GROUP, COLLECT(CASE WHEN g.status='PENDING' THEN g END) AS PENDING_GROUP
这将返回2个单独的集合,请尝试此解决方案,希望对您有帮助
答案 1 :(得分:1)
您可以过滤并提取列表本身,而无需取消缠绕:
...
WITH
COLLECT({
q: q,
lastAttempt: attempt
}) as fullOrderedList
WITH fullOrderedList,
[entry in fullOrderedList WHERE <condition 1 here>] as firstList,
[entry in fullOrderedList WHERE <condition 2 here>] as secondList,
[entry in fullOrderedList WHERE <condition 3 here>] as thirdList
...
这称为list comprehension。如果您需要自定义地图内容的投影,则可以使用链接中提供的语法根据需要进行投影。