我正在寻找一种通过查询连接组内字段的字符串的方法.例如,我有一张桌子:
ID   COMPANY_ID   EMPLOYEE
1    1            Anna
2    1            Bill
3    2            Carol
4    2            Dave
我想通过company_id分组得到类似的东西:
COMPANY_ID   EMPLOYEE
1            Anna, Bill
2            Carol, Dave
mySQL中有一个内置函数来执行这个group_concat
任何人都知道sqlite中的String Aggregation是否可行?如果我有一个5行/数据的动物专栏,我怎样才能将它们组合起来,以便输出在一个字段'dog','cat','rat','mice','mouse'作为动物
谢谢
我不认为我可以ORDER BY在GROUP_CONCAT函数内部使用子句.
有没有人知道实现这种行为的棘手方法SQLite?
我之前看过这个问题.但我有一个复杂的查询.
我的陈述如下:
SELECT
    c.col1, c.col3, m.col3, m.col4,
    count(m.col1), count(re.col2) AS cnt,
    GROUP_CONCAT(p.col1 ORDER BY p.col1) AS "Group1",
    GROUP_CONCAT(p.col2 ORDER BY p.col1) AS "Group2", 
    GROUP_CONCAT(CASE WHEN con.col3 is null THEN p.col1 ELSE con.col3 END),
    con.col4, con.col5, p.col3
FROM t1 re
    INNER JOIN t2  c  ON (re.col1  = c.col1)
    INNER JOIN t3  p  ON (re.col2  = p.col1)
    LEFT JOIN  t4 con ON (con.col1 = p.col2)
    INNER JOIN  t5 m  ON (m.col1 …在SQL Server中,我可以在Cursor的帮助下完成此操作(循环遍历结果集中的每一行并构建我的字符串).但我不知道如何在SQLite中做同样的事情,这个任务不像所谓的Pivoting,据我所知,我们必须知道我们想要转向列的确切行.我的情况不同,我想将一个指定列的所有值都选择成一个字符串(然后可以选择为1行的列),这个列可以有各种值取决于SELECT查询.以下是它的外观示例:
A    |    B    
------------
1    |    0
8    |    1
3    |    2
...     ....
我想将列A的所有值选择为一个字符串,如"183 ......"(或"1,8,3,..."就可以了).
这可以用作另一个SELECT中的列,我必须实现这个,因为我需要将所有子信息(在列A的每一行上)显示为另一行中以逗号分隔的列表.
我对此没有任何想法,它似乎需要一些程序性语句(例如放在一个程序中)但SQLite对如何处理循环,变量声明有很大的限制,......我真的被卡住了.编程数据库时这种任务很常见,我没有理由拒绝这样做.
请帮助,我们将非常感谢您的帮助!谢谢!