在查询中合并 select 和更新语句
Combine select and update statement in query
我想将查询的所有空白列设置为“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;
由于左连接,returns Gesamtbetrag_Erstattungen
的空列。
我想用“0”填充这些空列,而不是那里有空白 space。
这样做的好方法是什么?也许使用额外的更新功能?我该怎么做?
提前致谢。
"empty" 字段是由 LEFT JOIN
引起的 NULL
。由于 LEFT JOIN
,所有聚合列都应来自第一个 table.
然后您可以使用 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;
Table 别名使查询更易于编写和阅读。请注意使用 m.Mitarbeiter_ID
而不是 e.Mitarbeiter_ID
和 NZ()
.
的更改
我想将查询的所有空白列设置为“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;
由于左连接,returns Gesamtbetrag_Erstattungen
的空列。
我想用“0”填充这些空列,而不是那里有空白 space。
这样做的好方法是什么?也许使用额外的更新功能?我该怎么做?
提前致谢。
"empty" 字段是由 LEFT JOIN
引起的 NULL
。由于 LEFT JOIN
,所有聚合列都应来自第一个 table.
然后您可以使用 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;
Table 别名使查询更易于编写和阅读。请注意使用 m.Mitarbeiter_ID
而不是 e.Mitarbeiter_ID
和 NZ()
.