【问题标题】:SQL Enter parameter valueSQL 输入参数值
【发布时间】:2013-04-03 12:28:39
【问题描述】:

我是 sql 新手,我正在编写一个查询来显示分配给他们的员工的项目编号。

SELECT PROJ_NUM
FROM project
WHERE EMP_NUM IS NOT null;

当我运行查询时,我被要求输入 EMP_NUM 的参数值。为什么会被问到这个?

【问题讨论】:

  • 你用什么程序来运行这个 SQL?
  • 在 ms 访问上运行它
  • 好的,我已经用ms-access标记了你的问题;下次您应该这样做,以便合适的人早日看到它。

标签: sql ms-access


【解决方案1】:

通常这表明存在拼写错误,并且您的project 表不包含名为EMP_NUM 的字段。但是,如果您已经确认该字段确实存在,则问题可能出在表名project,即reserved word

在这种情况下,请尝试这样的查询...

SELECT p.PROJ_NUM
FROM [project] AS p
WHERE p.EMP_NUM IS NOT null;

事后分析:OP 确认 EMP_NUM 不存在于 project 表中。这就是数据库引擎将其解释为参数的原因。这种情况令人困惑,因为project 在数据表视图中打开,EMP_NUM 显示在相关表的子数据表中。通过检查他的数据库关系,OP 能够确定哪个表包括 EMP_NUM,然后在他的查询中确定 INNER JOINproject 的表。

【讨论】:

  • 我尝试使用 p 但我仍然收到提示。 EMP_NUM 是否在 PROJ_NUM 的下拉列表中(+ - 号)有关系吗?
  • +/- 指标是否可以用于相关表的子数据表?如果是这样,EMP_NUM 可能不存在于Project 中,而是存在于相关表中。
  • 请在设计视图中打开project 表并告诉我们它是否包含名为EMP_NUM 的字段。
  • 它没有,但在数据表视图中我看到 PROJ_NUM 其中一个是 15,在 15 的左侧有一个加号,当我单击加号时,它会在 PROJ_NUM 下展开显示 EMP_NUM 和其他几个字段。
  • 追踪包含EMP_NUMINNER JOIN的表到project。在查询设计器中执行此操作,因为它将帮助您正确设置连接。检查您的数据库关系(数据库工具 -> 关系)以找出与 project 相关的表。其中之一将包括EMP_NUM 字段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-25
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
  • 2019-06-08
相关资源
最近更新 更多