gpt4 book ai didi

mysql - 在新表中将一列分成多列

转载 作者:行者123 更新时间:2023-11-29 23:11:58 31 4
gpt4 key购买 nike

我有一张这样设置的 table

id (PK) | regID (FK) | fieldID | fieldValue

有多个字段可用于输入数据,这些字段都存储在 fieldValue 列中。我想做的是将这些数据迁移到第二个表,如下所示

regID | Name | Occupation | etc | etc

列(regID 除外)与 fieldID 关联。

我首先尝试使用唯一的 regID 填充新表,然后尝试根据匹配的 regID 和适当的 fieldID 更新其余的行信息,但我无法做到这一点。

然后我尝试了类似的东西

`INSERT INTO newData(regID, pName) VALUES
((SELECT distinct regID FROM fieldData),
(SELECT fieldValue FROM fieldData WHERE fieldID= 14 ORDER BY regID))`

这显然不起作用。我仍然认为第一个选择可能是更好的方法,但即使如此,我也不认为它很好。有什么想法如何让这些数据变得更有组织吗?

最佳答案

您需要使用基于案例的聚合

以下是如何使用插入选择基于案例的聚合

INSERT INTO newData(regID, pName, occupation) 
select regID,
max(case when filedid=14 then fieldDate end) as pName,
max(case when filedid=15 then fieldDate end) as occupation,
.....
from fieldData
group by regID

关于mysql - 在新表中将一列分成多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28032826/

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