我有一个问题:
在我的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'
虽然这已经很好了,但它仍然不是我想要的。在那一点上,我无法理解如何将事物结合起来以获得我想要的东西。
旁注:有没有关于复杂查询的好教程?到目前为止,我只发现了一些片段,但没有真正解释如何构建这样的东西
答案 0 :(得分:15)
你很亲密!
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