gpt4 book ai didi

SQLite:group_concat() 多列

转载 作者:IT王子 更新时间:2023-10-29 06:20:06 27 4
gpt4 key购买 nike

我有一个问题:

在我的 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

关于SQLite:group_concat() 多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797353/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com