【发布时间】:2014-07-07 03:39:22
【问题描述】:
需要帮助!
我有 2 张桌子:Employee (Per_Code, Per_Name, Dept_Name) | Task (Dest_ID, Destination, Salary) 作为数据源。
现在我再做一张桌子Employee_Salary (Per_Code, Per_Name, Dept_Name, Dest_ID, Destination, Date, Duration, Salary)。
我的 SQL 语句:
INSERT INTO Employee_Salary (Per_Code, Per_Name, Dept_Name, Dest_ID, Destination, Date, Duration, Salary)
VALUES (
'1001',
(SELECT Per_Name FROM Employee WHERE Per_Code=1001),
(SELECT Dept_Name FROM Employee WHERE Per_Code=1001),
(SELECT Dest_ID FROM Task WHERE Destination="CityA"),
'CityA',
'2014-07-07',
'3',
(SELECT Salary FROM Task WHERE Destination="CityA")
);
但它说“查询输入必须包含至少一个表或查询”。难道我的 SQL 语句错了?请帮助我...任何人!
【问题讨论】:
-
是否有任何内部查询返回
null值? -
只显示错误信息。当我查看表格时,没有插入任何内容。
-
尝试在查询中使用硬编码值而不是
SELECT,并检查它是否有效,然后单独执行内部SELECT语句以查看其中是否有任何一个返回空值。 -
在 MS Access 中,日期应包含井号 (#),不应引用数值。根据您的工作地点," 引号很好。您应该使用参数。