gpt4 book ai didi

mysql - 唯一行的 SQL 语句

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:18 25 4
gpt4 key购买 nike

我正在尝试从包含帐号、电话号码和电子邮件的表格中提取信息。但是,我不确定设计这张表的人在想什么。 table 是这样摆的。

账户ID |电话类型 |电话号码

现在您可能会问电子邮件存储在哪里。它们存储在电话号码下。此数据库的示例。

AccountID | PhoneType | PhoneNumber
123456 WORK 111-1111
123456 MOBILE 111-4567
123456 EMAIL exampleemail@email.com
222222 EMAIL stupid@table.com

我不确定如何执行此操作,因为我对 SQL 只有基本的了解。理想情况下,我们想要这样的东西:

AccountID | WorkPhone | MobilePhone | Email
123456 111-1111 111-4567 example@email.com
222222 stupid@table.com

执行此操作的好方法是什么?我已经尝试了几个 IF 语句,但没有一个能让我达到我想要的效果。

最佳答案

像这样的东西会起作用。如果您有更多电话类型,这可能会很长:

编辑:根据 xQbert 的回复,他是正确的。您需要在帐户 ID 上添加一个分组依据,否则您仍然会得到多行。

SELECT
AccountId
, MAX(CASE WHEN PhoneType = 'WorkPhone' THEN
PhoneNumber
ELSE
NULL
END) AS 'WorkPhone'
, MAX(CASE WHEN PhoneType = 'MobilePhone' THEN
PhoneNumber
ELSE
NULL
END) AS 'MobilePhone'
, MAX(CASE WHEN PhoneType = 'Email' THEN
PhoneNumber
ELSE
NULL
END) AS 'Email'
FROM
MyTable
GROUP BY AccountId

关于mysql - 唯一行的 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47779502/

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