mariadb 如何在SQL中将结果从行导入具有相应值的列

vjhs03f7  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(140)

我目前有以下结果表:
| 公司编号|外部ID|属性|整数值|
| - -|- -|- -|- -|
| 一个|一百零一|通话次数|三个|
| 一个|一百零一|电子邮件|十四|
| 一个|一百零一|账户|四个|
| 2个|一百零二|通话次数|2个|
| 2个|一百零二|电子邮件|十七岁|
| 2个|一百零二|账户|五个|
并且我想将我的查询结果转换为如下所示:
| 公司编号|外部ID|通话次数|电子邮件|账户|
| - -|- -|- -|- -|- -|
| 一个|一百零一|三个|十四|四个|
| 2个|一百零二|2个|十七岁|五个|
这是可能的吗?如果是的话,我该怎么做呢?我是一个新的SQL用户,似乎不能弄清楚这一点:)
这是我目前用来取得结果的查询:

SELECT
 ic.company_id,
 ic.external_id,
 icca.attribute, 
 icca.int_value

FROM
 intercom_companies AS ic

LEFT JOIN intercom_companies_custom_attributes AS icca 
ON ic.company_id = icca.company_id
polhcujo

polhcujo1#

透视查询应在以下情况下工作:

SELECT
    ic.company_id,
    ic.external_id,
    MAX(CASE WHEN icca.attribute = 'Calls'
             THEN icca.int_value END) AS Calls,
    MAX(CASE WHEN icca.attribute = 'Emails'
             THEN icca.int_value END) AS Emails,
    MAX(CASE WHEN icca.attribute = 'Accounts'
             THEN icca.int_value END) AS Accounts
FROM intercom_companies AS ic
LEFT JOIN intercom_companies_custom_attributes AS icca
    ON ic.company_id = icca.company_id
GROUP BY
    ic.company_id,
    ic.external_id;

相关问题