我创建了一个表,列出了3个产品,每个产品都有一列。几个月来一直很好 - 直到我必须添加更多产品。
tblSubmission
--------------------------------
|submissionID|Prod1|Prod2|Prod3|
-------------|-----|-----|------
|101 |2 |0 |1 |
|102 |0 |0 |1 |
|103 |3 |6 |4 |
--------------------------------
我已尝试但无法将表拆分为按提交ID分组的多行,并添加每个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
有没有比使用拆分功能更简单的方法呢?
答案 0 :(得分:1)
您可以使用三个inserts
或union all
:
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;
你的新结构是明智之举。