【问题标题】:Update using three tables in netezza在 netezza 中使用三个表进行更新
【发布时间】:2015-02-11 10:12:37
【问题描述】:

我试图避免一个共同相关的子查询,这反过来又使我从三个不同的表中更新,我不太确定如何使用 netezza 从三个表中进行更新。

update stemp
set maxi = a.marks
from stemp
left join
sd696 sd 
where st.id = sd.id
left join
(select id,MAX(marks) marks from sm696 group by ID) a 
where a.id = sd.id;

请帮帮我

【问题讨论】:

    标签: netezza


    【解决方案1】:

    当您需要在 UPDATE 中进行连接时,连接会在逗号分隔的 FROM 子句中隐式指定(无需再次指定 UPDATEd 表),并在 WHERE 子句中指定 JOIN 条件。

    您的 UPDATE 看起来像这样:

    UPDATE stemp
    SET maxi = a.marks
    FROM sd696 sd,
       (
          SELECT id,
             MAX(marks) marks
          FROM sm696
          GROUP BY ID
       )
       a
    WHERE stemp.id = sd.id
    AND a.id       = sd.id;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-27
      • 2021-05-04
      • 1970-01-01
      相关资源
      最近更新 更多