我是sql的新手,我正在编写一个查询来显示员工分配给他们的项目编号。
SELECT PROJ_NUM
FROM project
WHERE EMP_NUM IS NOT null;
当我运行查询时,我被要求输入EMP_NUM的参数值。为什么我被问到这个?
答案 0 :(得分:3)
通常会出现拼写错误,并且您的project
表中不包含名为EMP_NUM
的字段。但是,如果您已经确认该字段确实存在,则问题可能是由于表名project
而导致的reserved word。
在这种情况下,请尝试这样的查询...
SELECT p.PROJ_NUM
FROM [project] AS p
WHERE p.EMP_NUM IS NOT null;
事后调查:OP {1}}表中不存在OP EMP_NUM
。这就是db引擎将其解释为参数的原因。情况令人困惑,因为在数据表视图中打开了project
,project
显示在相关表的子数据表中。通过检查他的数据库关系,OP能够确定哪个表在其查询中包含EMP_NUM
,然后EMP_NUM
该表到INNER JOIN
。