gpt4 book ai didi

mysql - 使用 IF/CASE 语句排序到列 (AS)

转载 作者:行者123 更新时间:2023-11-29 17:41:12 24 4
gpt4 key购买 nike

我有一个构建为一对多的数据库,其中的“多”为 3 个“关键字”。例如:项目 A 可能具有关键字 B、C 和 D 中的任何/全部。这些关键字中的每一个都有与其对应的描述。我将如何选择该项目所具有的关键字的描述?

我的 table 看起来像:

Item----Keyword----Description    
A-------B--------------desc1
A-------C--------------desc2

如果项目 A 具有关键字 C 和 D,并且 C 的描述为“desc1”,D 的描述为“desc2”,我希望我的输出为:

Item---KeyB---KeyC---KeyD

A------NULL---desc1---desc2

抱歉格式不好,我不知道如何在这里做表格。我试过了

SELECT
CASE
WHEN Keyword = 'B' THEN Description AS 'KeyB'
WHEN Keyword = 'C' THEN Description AS 'KeyC'
WHEN Keyword = 'D' THEN Description AS 'KeyD'
END

但是这给了我一个错误,因为“AS”使用不正确。

这可以做到吗?

最佳答案

您使用条件聚合

 SELECT item, 
MAX( CASE WHEN Keyword = 'B' THEN Description END) as KeyB,
MAX( CASE WHEN Keyword = 'C' THEN Description END) as KeyC,
MAX( CASE WHEN Keyword = 'D' THEN Description END) as KeyD
FROM YourTable
GROUP BY item

关于mysql - 使用 IF/CASE 语句排序到列 (AS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50002182/

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