sql - 更新不同表中相关记录的值
问题描述
我有四个不同的桌子连接在一起。我正在努力解决的是如何更新(或更改)两个不同列的值:属性和颜色。请记住,这两个项目在我使用适当的 UUID 加入它们之前位于两个不同的表中。
仅当 Attribute = 'SetupType' 且 Color = 'Green' 或 'Yellow' 时,更新(或值的更改)才会发生</p>
我想将这两个值更改为: Attribute = 'Normal' 和 Color = '1'
SELECT REC_ProdItem.ItemPath, REC_Recipe.Name, REC_ProdItemValue.Name AS Attribute, REC_RecipeValue.Value AS Color
FROM REC_Recipe INNER JOIN
REC_RecipeValue ON REC_Recipe.RecipeUUID = REC_RecipeValue.RecipeUUID INNER JOIN
REC_ProdItem ON REC_RecipeValue.ProdItemUUID = REC_ProdItem.ProdItemUUID INNER JOIN
REC_ProdItemValue ON REC_ProdItem.ProdItemUUID = REC_ProdItemValue.ProdItemUUID AND
REC_RecipeValue.ProdItemValueUUID = REC_ProdItemValue.ProdItemValueUUID
WHERE (REC_ProdItemValue.Name = 'SetupType')
电流输出:
ItemPath Name Attribute Color
Lane1 LDSSYSSA0022960 SetupType Green
Lane7 OBS NLDSSYSSA0 Color NULL
Lane3 OLD2768 Gap NULL
Lane7 NLDSSYSSA0022L SetupType Red
Lane7 NLDSSYSSA0022LDSS Size Red
Lane1 LDSSYSSA00221254 SetupType Red
Lane1 LDSSYSSA00221255 ID Red
Lane1 LDSSYSSA00221351 SetupType Yellow
Lane1 LDSSYSSA00221211 Size Yellow
所需的输出:在我将所有表连接在一起之前,这些更改也应该反映在原始表中。
ItemPath Name Attribute Color
Lane1 LDSSYSSA0022960 Normal 1
Lane7 OBS NLDSSYSSA0 Color NULL
Lane3 OLD2768 Gap NULL
Lane7 NLDSSYSSA0022L SetupType Red
Lane7 NLDSSYSSA0022LDSS Size Red
Lane1 LDSSYSSA00221254 SetupType Red
Lane1 LDSSYSSA00221255 ID Red
Lane1 LDSSYSSA00221351 Normal 1
Lane1 LDSSYSSA00221211 Size Yellow
任何有关如何更改原始表上这两个值的帮助将不胜感激。谢谢……</p>
解决方案
推荐阅读
- java - 如何在插件 REST Spring Atlassian Connect API 中实现 JWT 授权?
- java - 强制 MapStruct 使用自定义方法而不是 dto 值
- docker - 在不同的用户下启动 docker 容器
- wordpress - 如何在没有父类别的情况下显示 wordpress 类别名称?
- codeigniter - 寻找类似的数据
- machine-learning - 问:为什么长短期记忆(LSTM)被称为长短两种类型的记忆?
- graph - 风暴拓扑的操作
- ios - 在 UI 生命周期的哪个时间点,分隔线作为子视图添加到 UITableViewCells?
- apache-kafka - 同一组中的两个 kafka 消费者和一个分区
- php - 将 PDF 转换为 JPEG 会生成非常大的 /tmp 文件(使用 GMAGICK)