所以我有一个特定的选择,它已经向我显示了我需要知道的数据。 它包含一组by和2个交叉连接。表" Projekt"是所有项目的表格,表格#34; Bestellung"可以包含该项目的几个订单,表" Lieferung"可以包含一个订单的多个交货。我需要在表格中找到最后一个日期" Lieferung并将其放入表格#34; Projekt"中。这是显示项目最后一次交付的最大日期的选择。
SELECT Projekt.ProjNr, MAX(Lieferung.LSDatum) AS Expr1
FROM Lieferung RIGHT OUTER JOIN
Bestellung ON Lieferung.BestellNr = Bestellung.BestellNr RIGHT OUTER JOIN
Projekt ON Bestellung.VorgangsNr = Projekt.ProjNr
GROUP BY Projekt.ProjNr
我现在需要用maxdate更新项目表,我已经读过你不能在更新查询中使用group by,我怎么能实现呢?
答案 0 :(得分:1)
但是,您可以使用子查询加入目标更新表:
UPDATE P
SET
<updateField> = Expr1
FROM Projekt P
INNER JOIN (
SELECT Projekt.ProjNr, MAX(Lieferung.LSDatum) AS Expr1
FROM Lieferung RIGHT OUTER JOIN
Bestellung ON Lieferung.BestellNr = Bestellung.BestellNr RIGHT OUTER JOIN
Projekt ON Bestellung.VorgangsNr = Projekt.ProjNr
GROUP BY Projekt.ProjNr
) P1 ON
P.ProjNr = P1.ProjNr