gpt4 book ai didi

MySQL:转换具有多列的行并插入多行

转载 作者:行者123 更新时间:2023-11-29 11:44:46 25 4
gpt4 key购买 nike

我创建了一个表,其中列出了 3 个产品,每个产品有一列。这几个月来效果非常好 - 直到我当然不得不添加更多产品。

tbl提交

--------------------------------
|submissionID|Prod1|Prod2|Prod3|
-------------|-----|-----|------
|101 |2 |0 |1 |
|102 |0 |0 |1 |
|103 |3 |6 |4 |
--------------------------------

我已尝试过,但无法将表格拆分为按submissionID 分组的多行,并添加每个productCode 的数量。

tblSubmissionProduct

--------------------------------------------------------------
|submissionProductID|submissionID|productCode|productQuantity|
--------------------|------------|-----------|----------------
|1 |101 |Prod1 |2 |
|2 |101 |Prod3 |1 |
|3 |102 |Prod3 |1 |
|4 |103 |Prod1 |3 |
|5 |103 |Prod2 |6 |
|6 |103 |Prod3 |4 |
--------------------------------------------------------------

submissionProductID 定义为 auto_increment

有没有比使用 split 函数更简单的方法来做到这一点?

最佳答案

您可以使用三个插入联合所有来完成此操作:

insert into tbl_SubmissionProduct(submissionId, productCode, productQUantity)
select submissionId, 'Prod1', prod1
from tblSubmission
union all
select submissionId, 'Prod2', prod2
from tblSubmission
union all
select submissionId, 'Prod3', prod3
from tblSubmission;

您的新结构是明智之举。

关于MySQL:转换具有多列的行并插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35143417/

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