从一个表中选择值,并在具有相同PK

时间:2017-12-05 22:54:38

标签: mysql sql database

我有两张桌子 表1架构:

Table1:: Product_Report Column:: PId, PReportName, PReportSize

和第二桌架构:

Table2:: Product Column:: PId, PName, PSize, PCategory

在两个表PId中都是PrimaryKey。我想在PReportCategory(表1)中添加Product_Report作为新列,其中PReportCategory的值从PCategory Product中选择(表2)

类似的东西:

 INSERT into Product_Report (PReportCategory) VALUES Select PCategory from Product where (I guess here need help)

如果我是正确的路径我跟随然后我想在哪里条件我需要帮助,如果没有那么请帮我构建查询

谢谢

1 个答案:

答案 0 :(得分:1)

问:“我想在PReportCategory

中添加Product_Report作为新列
ALTER TABLE Product_Report
  ADD PReportCategory BIGINT DEFAULT NULL COMMENT 'ref Product.PCategory'

(使用适当的datataype代替BIGINT,我添加了该列作为占位符数据类型。)

问:“... PReportCategory的价值是从PCategory的{​​{1}}中选出的

Product

这会在UPDATE Product_Report t JOIN Product s ON s.PId = t.PId SET t.PReportCategory = s.PCategory 中的PReportCategory行中留下Product_Report的NULL值,这些行中Product找不到匹配的行。

一点也不清楚这是试图解决的问题,即为什么需要添加此列并填充它。但是这个MySQL语法示例演示了我们如何1)向表中添加列,2)从另一个表中的行中的值填充该列,并根据PId

的值进行匹配