gpt4 book ai didi

php - MySQL 选择行值作为键=>值

转载 作者:行者123 更新时间:2023-11-30 00:34:55 25 4
gpt4 key购买 nike

我在 Basecamp 中设置了与此类似的 MySQL 结构:

bc_projects

project_id | title                    | active
2618731   | 'Sample Title'    | 1
2618732   | 'Sample Title 2' | 0

bc_todolists

todolist_id | project_id | title
6731098   | 2618731   | 'Launch Status'
6731099   | 2618731   | 'Some Other List'

bc_todos

todo_id     | todolist_id | title                  | completed     | content
39180738 | 6731098   | 'Client Signoff' | 1366041432 | 'YYYY-MM-DD'
39180739 | 6731098   | 'Team Signoff' | null                | ''

我需要做的是将每个项目的所有项目相关详细信息放入 1 行(或其他一些同样有效的 SQL)

接下来的部分更加诡异。我想从 bc_todos 获取内容或完成内容,具体取决于内容是否为 null 或 = 'YYYY-MM-DD'。我尝试自己运行这个,但现在陷入困境。这是我到目前为止所拥有的:

SELECT 
bc_projects.title
(SELECT GROUP_CONCAT(todolist_id SEPARATOR ',') FROM `bc_todolists` WHERE project_id = bc_projects.project_id) AS lists
FROM
bc_projects
WHERE
bc_projects.active = 1

我知道我现在可以使用查询中的连接列表从 bc_todos 中提取数据,但键值对让我头脑困惑。任何帮助将不胜感激!

最佳答案

不确定这是否是你想要的

选择 a.标题,

GROUP_CONCAT(b.todolist_id SEPARATOR ',') AS lists,

CASE WHEN c.content IS NULL

THEN GROUP_CONCAT(c.completed SEPARATOR ',')

ELSE GROUP_CONCAT(c.content SEPARATOR ',')

END as outlist

来自 bc_projects

LEFT OUTER JOIN `bc_todolists` b ON a.project_id = b.project_id

LEFT OUTER JOIN bc_todos c ON b.todolist_id = c. todolist_id

其中 a.active = 1

关于php - MySQL 选择行值作为键=>值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22256331/

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