MS SQL复杂更新查询

时间:2014-04-30 10:01:07

标签: sql sql-server-2008-r2

我有多个表,并尝试根据主表中的匹配转换来更新某些表。我可以根据第一个可用的翻译更新表格,但我想基于最常用的翻译来完成。我发现了很多关于如何在简单查询中实现这一点的示例,但是不能在下面这个复杂的查询中使用它。

简而言之,我只需要从[EC3_800_FR_M]中获取最频繁的翻译[目标]并将其复制到[EC3_800_FR],而不是在表格中首次出现。

UPDATE [ec3_800_fr] 
SET    [ec3_800_fr].[target] = (SELECT TOP 1 
       [ec3_800_fr_m].[target] 
FROM   [ec3_800_fr_m] 
WHERE  ( 
       [ec3_800_fr].[enus] = [ec3_800_fr_m].[enus]           AND 
       [ec3_800_fr].[length] = [ec3_800_fr_m].[length]            AND 
       [ec3_800_fr].[key6_domainname] = [ec3_800_fr_m].[key6_domainname] AND  
       [ec3_800_fr_m].[status] > 1 
       )
       ); 
谁能帮帮我??? merci - 谢谢你 - Dank u - Danke BR 洛洛

0 个答案:

没有答案