Sql 访问-查询不可执行
错误是查询必须至少基于一个表或查询 查询: 在Gehaltsabrechnung IBAN、MitarbeiterID、Betrag值中插入 从Mitarbeiter中选择IBAN,其中MitarbeiterID=2,2, 从中选择SUMStunden_Gearbeitet*studenlohn mitarbeiterrollen上的mitarbeiterrollen内部联接ROLLE.RolleID=ROLLE.RolleID 其中,MitarbeiterID=2 你想插入。选择在MS Access中,这看起来像:Sql 访问-查询不可执行,sql,windows,ms-access,Sql,Windows,Ms Access,错误是查询必须至少基于一个表或查询 查询: 在Gehaltsabrechnung IBAN、MitarbeiterID、Betrag值中插入 从Mitarbeiter中选择IBAN,其中MitarbeiterID=2,2, 从中选择SUMStunden_Gearbeitet*studenlohn mitarbeiterrollen上的mitarbeiterrollen内部联接ROLLE.RolleID=ROLLE.RolleID 其中,MitarbeiterID=2 你想插入。选择在MS Acc
INSERT INTO Gehaltsabrechnung (IBAN, MitarbeiterID, Betrag)
SELECT m.IBAN, m.MitarbeiterID,
(SELECT SUM(Stunden_Gearbeitet * Stundenlohn)
FROM mitarbeiterrollen INNER JOIN
ROLLE
ON mitarbeiterrollen.RolleID = rolle.RolleID
WHERE MitarbeiterID = m.MitarbeiterID
)
FROM Mitarbeiter as m
WHERE m.MitarbeiterID = 2;
注意,我用m.MitarbeiterID的引用替换了大多数2。这有助于确保输入错误不会影响查询
我还建议在子查询中使用限定列名,但此版本应该可以使用。我们的MitarbeiterRollen表: 我们的Gehaltsabrechnung桌子 我们的Rolle表:
我们的Mitarbeiter表:当我执行您的代码时,我没有得到它必须基于表的错误,但我得到的错误是缺少运算符。@Tobi0812。一个额外的收盘价悄悄地进来了。