SQL update语句基于另一个表中的唯一值

时间:2017-06-16 14:26:31

标签: sql sql-server join distinct

我正在尝试执行SQL UPDATE查询来设置b的值。[Disposition]在i.uid字段是唯一的

以下select语句返回正确的行。

g++34

但是我不确定如何将它合并到SQL UPDATE语句中。

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:1)

你的问题不是很明确,但你可以做这样的事情

update b
set -- your fields here
FROM [DaisyCompare].[dbo].[Baseline] b
inner join [dbo].[Imported] i on 
b.[CLI]=i.[CLI] AND 
b.[Quantity]=i.[Quantity] AND 
b.[UnitCost]=i.[UnitCost] AND 
b.[TotalCost]=i.[TotalCost] AND 
b.[Description]=i.[Description] 

答案 1 :(得分:1)

试试这个

file-loader

答案 2 :(得分:0)

我认为这是有效的..将列名称等于

   update b
    set b.disposition =  i.xxxx from [dbo].[Imported] i 
    inner join [DaisyCompare].[dbo].[Baseline] b on 
    b.[CLI]=i.[CLI] AND 
    b.[Quantity]=i.[Quantity] AND 
    b.[UnitCost]=i.[UnitCost] AND 
    b.[TotalCost]=i.[TotalCost] AND 
    b.[Description]=i.[Description]

答案 3 :(得分:0)

update [b].[Disposition] set x(Desired value)
from [dbo].[Imported] i inner join [DaisyCompare].[dbo].[Baseline] b on 
b.[CLI]=i.[CLI] AND 
b.[Quantity]=i.[Quantity] and
b.[UnitCost]=i.[UnitCost] and
b.[TotalCost]=i.[TotalCost] and
b.[Description]=i.[Description] where i.uid = y(Desired value)