如何在Filemaker结果中实现类似于GROUP_CONCAT的结果?

时间:2017-01-25 17:44:50

标签: sql filemaker group-concat

我正在一个名为Filemaker的程序中做一些工作,它有一个淡化的sql函数。它没有GROUP_CONCAT函数,GROUP BY子句需要SELECT中提到的所有字段。

是否还有其他方法可以获得相同的结果:

SELECT id_candidate, GROUP_CONCAT(id_award SEPARATOR ', ')
FROM nomination 
GROUP BY id_candidate

结果

5   113, 116
6   109, 113, 114, 117, 120
7   104, 113
8   113
9   101, 104, 113, 118
10  100, 114, 118

注意:如果需要完成多个选择,我可以存储一个SELECT的结果并在另一个中使用它。因此,我可以使用SELECT DISTINCT (id_candidate)的结果,然后在…WHERE IN ({var})

中调用它

1 个答案:

答案 0 :(得分:1)

您已经回答了自己的问题 - 您无法在单个语句中在FileMaker SQL中执行此操作 - 它对子查询的支持非常有限。

  

我可以使用SELECT DISTINCT(id_candidate)的结果然后   在...中调用它({var})

我建议做相反的事情。将计算查询存储在FileMaker中的记录级别,例如一个名为" awards"的计算字段:

ExecuteSQL ( "SELECT id_award 
              FROM nomination 
              WHERE id_candidate = ?" ; 
"" ; ", " ; nomination::id_candidate )

然后您可以运行报告:

   ExecuteSQL ( "SELECT id_candidate, awards
                 FROM nomination 
                 GROUP BY id_candidate" ; 
    "" ; "" )

这应该允许您拥有所需的输出