繁体   English   中英

SQLite:group_concat()多列

[英]SQLite: group_concat() multiple columns

我有一个问题:

在我的SQLite(android上的sqlite3)数据库中,我有一个像这样的表

company |  name    | job
--------------------------
      1 |  'Peter' | 'Manager'
      1 |  'Jim'   | (null)
      2 |  'John'  | 'CEO'
      2 |  'Alex'  | 'Developer'
      3 |  'Lisa'  | (null)

而且我想去

company | formated
--------------------------------------
      1 | 'Peter (Manager), Jim'
      2 | 'John (CEO), Alex (Developer)'
      3 | 'Lisa'

到目前为止我得到的是

SELECT group_concat(concat) FROM (
    SELECT
        CASE 
            WHEN job IS NULL THEN name
            ELSE name || ' (' || job || ')'
        END AS concat
    FROM jobs
)

这给了我一个字符串

'Peter (Manager), Jim, John (CEO), Alex (Developer), Lisa'

虽然这已经很好了,但它仍然不是我想要的。 在那一点上,我无法理解我如何将事物结合起来以获得我想要的东西。

旁注:有没有关于复杂查询的好教程? 到目前为止,我只发现了一些片段,但没有真正解释如何构建这样的东西

你很亲密!

SELECT 
    company,
    group_concat(concat) AS formated
FROM (
    SELECT
        company,
        CASE 
            WHEN job IS NULL THEN name
            ELSE name || ' (' || job || ')'
        END AS concat
    FROM jobs
)
GROUP BY company

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM