首页 > 解决方案 > 更新不同表中相关记录的值

问题描述

我有四个不同的桌子连接在一起。我正在努力解决的是如何更新(或更改)两个不同列的值:属性和颜色。请记住,这两个项目在我使用适当的 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>

标签: sqlsql-server

解决方案


推荐阅读