在查询中组合select和update语句

时间:2018-02-24 11:48:01

标签: sql ms-access null set zero

我想将查询的所有空白列设置为“0”,以便我可以将其用于进一步的计算。

我的查询如下:

SELECT 
    SUM(Erstattungen.Betrag) AS Gesamtbetrag_Erstattungen,
    Mitarbeiter.Referent_Name
FROM 
    Mitarbeiter 
LEFT JOIN 
    Erstattungen ON Mitarbeiter.Mitarbeiter_ID = Erstattungen.Mitarbeiter_ID
GROUP BY 
    Mitarbeiter.Referent_Name, Erstattungen.Mitarbeiter_ID;

并且由于左连接而返回Gesamtbetrag_Erstattungen的空列。

我想用“0”填充这些空列,而不是在那里留空格。

这样做有什么好办法?也许使用额外的更新功能?我怎么能这样做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

“空”字段是由NULL引起的LEFT JOIN。由于LEFT JOIN,所有聚合列都应来自第一个表。

然后,您可以使用NZ()替换值:

SELECT NZ(Sum(e.Betrag), 0) AS Gesamtbetrag_Erstattungen, m.Referent_Name
FROM Mitarbeiter as m LEFT JOIN
     Erstattungen as e
     ON m.Mitarbeiter_ID = e.Mitarbeiter_ID
GROUP BY m.Referent_Name, m.Mitarbeiter_ID;

表别名使查询更易于编写和读取。请注意使用m.Mitarbeiter_ID而非e.Mitarbeiter_IDNZ()的更改。