必须声明标量变量

2023-12-14

首先,我创建了一个包含一列的内存表,并使用这些列值与另一个表进行内部联接。这样做时我收到此错误:

必须声明标量变量@暂时的.

谁能解释一下我哪里出了问题?

DECLARE @ID INT
Declare @Temporary Table
(
AccountID INT
)  

DECLARE cur CURSOR FOR

SELECT DISTINCT ParentItem from ItemBillOfMaterial

OPEN cur

FETCH NEXT FROM cur INTO @ID;

WHILE @@FETCH_STATUS = 0

BEGIN 

Insert into @Temporary Values(@ID)  

FETCH NEXT FROM cur INTO @ID;

END

SELECT UOM FROM Item

INNER JOIN @Temporary

ON [email protected]

CLOSE cur;

DEALLOCATE cur;

在连接条件中引用表时必须使用别名

SELECT UOM FROM Item
INNER JOIN @Temporary t
ON Item.ItemID=t.AccountID

虽然这解决了您遇到的问题,但您不需要临时表或游标。该查询可以重写为:

SELECT UOM 
FROM Item
WHERE ItemID IN (SELECT DISTINCT ParentItem FROM ItemBillOfMaterial)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

必须声明标量变量 的相关文章

  • 为什么此 SQL 更新失败(“列名无效”)?

    我有一个 SQL Server CE 表 如下所示 我正在尝试像这样更新其唯一记录 update workTables set fileType INV 但我得到 Why UPDATE 请查看相关问题here https stackover
  • 通过货币换算获取每种产品类型的最低价格

    我想选择每种产品类型中最便宜的 包括运费 价格转换为当地货币 最便宜 产品 价格 产品 运费 seller to aud 我的数据库有如下表 PRODUCTS SELLERS id type id seller id price shipp
  • 使用按位函数查询 BIT 字段时,MySQL 不使用索引

    我的 MySQL 表中有一个 BIT 类型的字段 我想使用位值存储记录的状态 例如 1 status1 2 status2 4 status3 8 status4 每条记录可以同时具有多种状态 对于 status1 和 status3 该值
  • 从表中删除孤儿

    我正在尝试清理一张有很多孤立项目的桌子 我通过查找空值来检查是否与另一个表存在关系来解决此问题 DELETE FROM table1 LEFT JOIN table2 ON table1 ID table2 ID WHERE table2
  • 插入多行并返回主键时 Sqlalchemy 的奇怪行为

    插入多行并返回主键时 我注意到一些奇怪的事情 如果我在 isert 查询中添加使用参数值 我会得到预期的行为 但是当将值传递给游标时 不会返回任何内容 这可能是一个错误还是我误解了什么 我的sqlachemy版本是0 9 4 下面如何重现错
  • sql查询将两列与一列连接起来

    我在 MS Access 2010 中有 2 个表 如下所示 USERS u id u name LOAN l id l from ref users u id l to ref users u id l amount Users u id
  • 如何在 SQL Server 中使用 nvarchar 变量为 unicode 用户添加前缀“N”?

    如何在 SQL Server 中使用 nvarchar 变量为 unicode 用户添加前缀 N 例如 给定这个变量 declare Query1 nvarchar max 我可以这样分配它 set Query1 N 但是如果我想使用怎么办
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • SQL 删除表并重新创建并保留数据

    在我们最初的设计中 我们搞砸了表中的外键约束 现在表已充满数据 我们无法在不删除表中所有记录的情况下更改它 我能想到的唯一解决方案是创建一个备份表并将所有记录放在那里 然后删除所有记录 更改表并开始将它们添加回来 还有其他 更好 的想法吗
  • 在sqlite SQL语句中与order by子句结合使用limit

    下面的两条 SQL 语句总是会产生相同的结果集吗 1 SELECT FROM MyTable where Status 0 order by StartTime asc limit 10 2 SELECT FROM SELECT FROM
  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 如何在 PostgreSQL 中使用具有多个值的 SQL LIKE 条件?

    有没有更短的方法来查找多个匹配项 SELECT from table WHERE column LIKE AAA OR column LIKE BBB OR column LIKE CCC 这个问题适用于 PostgreSQL 9 1 但如
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • 使用 where 进行 select 语句时,HSQLDB 用户缺乏权限或未找到对象错误

    我的数据库使用 SQuirrel SQL 客户端版本 3 5 3 和 HSQLDB 我已经能够为其指定相应的驱动程序 内存中 并创建一个别名 我创建了一个表 CREATE TABLE ENTRY NAME VARCHAR 100 NOT N
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样

随机推荐

  • ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

    大家好 今天我为 ASP NET 网站添加了 SSL 证书 添加证书后 我收到 ERR HTTP2 INADEQUATE TRANSPORT SECURITY 错误 如果我使用 http 访问网站 它可以工作 但 https 会给出错误 在
  • java.lang.ClassNotFoundException:com.mysql.jdbc.Driver(maven + jboss)

    Maven pom xml
  • 字符串值到字节数组而不进行转换

    我试图将字符串的值放入字节数组中而不更改字符 这是因为字符串实际上是数据的字节表示 目标是将输入字符串移动到字节数组中 然后使用以下方法转换字节数组 string result System Text Encoding UTF8 GetSt
  • 方法重载是否被视为多态? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 方法重载是否被视为多态性的一部分 多态性有不同类型 重载多态性 也称为临时多态性 压倒一切的多态性 所以是的 它是多态性的一部分
  • 使用 Java 对 LPT 端口进行编程。真的吗?

    状况 OS is Windows XP have LPT port LED 灯泡连接到LPT port 必要的 使用Java使灯泡闪烁 是否可以 对真实 经过验证的解决方案感兴趣 有人这样做过吗 我有几个选择 使用javax comm an
  • Android 无法在外部存储上创建文件

    我想创建一个 txt 文件并将其存储在 Android 手机的外部存储中 我将权限添加到我的 Android 清单中 当我运行代码时 它不会给我任何错误 但文件从未创建 不确定我做错了什么 public void createExterna
  • Rails 3 路由约束和正则表达式

    我正在寻找匹配的模式state city在路径中 除非状态变量等于 auth match state city gt cities index as gt state cities constraints gt state gt auth
  • GCC 的 -Wmaybe-uninitialized 是否会针对基于枚举的 switch 语句使用 -O1 生成虚假警告?

    我有一段以下形式的代码 typedef enum A 1 B EnumType int foo EnumType x int r switch x case A r 1 break case B r 2 break default r 1
  • JDBC总是测试MySQL表的最后一行?

    我有一个 Manager 类 它将数据保存在 SQL 表中 并从 SQL 表中获取结果并测试这些数据 当我运行程序时 将显示一个框架 用于获取 ID 和密码 如果它们正确 则另一个框架将显示但我不知道为什么它只测试 SQL 表的最后一行 我
  • 当我删除标记所在的行时让vim保留标记

    当我删除标记所在的行时 如何让 vim 保留标记 即自动将标记移动到标记行的上方或下方的行 也许最简单的方法是当您不想删除它们时使用大写字母标记 如果标记所在的行被删除 它将移至下一行 另一种选择是lockmarks命令 lockmarks
  • python中同一类的实例之间共享变量

    我有一个我需要的课程 第一个实例必须接收一个参数 以下所有实例的此参数都是可选的 如果没有通过那么我将使用之前对象init的参数 为此 我需要在对象之间共享一个变量 所有对象都属于具有相同父级的类 例如 class MyClass shar
  • 如何在 open gl 纹理的 alpha 中编码发射或镜面反射信息

    我有一个带有 UV 贴图的 OpenGL 纹理 我读过有关使用 alpha 通道来存储其他一些值的信息 这样就无需从某处加载额外的地图 例如 您可以在 Alpha 中存储镜面反射信息 光泽度 或发射贴图 因为您只需要一个浮点数 并且不使用
  • PHP函数的范围[重复]

    这个问题在这里已经有答案了 我有一个文件 将我的可重用函数集中到一个文件中 functions php It s include once 在每个需要它的页面上 当我的自定义函数尝试访问其自身范围之外的 MySQL 连接时 我收到错误 来源
  • 带有函数应用的类型化抽象语法树

    我正在尝试编写一个可以表示的类型化抽象语法树数据类型 功能应用 到目前为止我已经 type Expr lt a gt Constant of a Application of Expr lt b gt a gt Expr lt b gt e
  • Appcompat actionbar v21 应用程序图标未显示

    出于材料设计目的 我升级到了 avtionbar app compat v21 但我观察到 与旧的应用程序兼容库相比 它在操作栏中不显示应用程序图标 导航菜单和后退按钮占用了更多空间 有人遇到过这个问题吗 我搜索了很多 但没有发现任何有用的
  • 无法使用 FastAPI 访问或打印任何请求数据

    我有一个简单的 FastAPI 端点 我想在其中接收字符串值 在本例中 我尝试使用 JSON 正文 但基本上不需要是 JSON 我真的只需要一个简单的字符串来将请求彼此分开 不幸的是 我无法使用以下命令访问任何请求参数GET方法 我也尝试过
  • 如何将 Excel 电子表格配置为 javax.sql.DataSource?

    我有一个 Spring Boot 1 3 0 Java 8 应用程序 需要使用 Excel 作为数据源 由于 Excel 文件类型的原因 POI 和 JXL 不起作用 应用程序需要在 unix 环境中运行 我将应用程序配置为通过 yml 文
  • 在 web.config 中保留敏感信息

    将用户名或密码存储在中是否安全web config作为其他参数 例如超时时间在ASP NET MVC应用程序 如果不是 是否可以使这些参数变得安全 以便它们不能被编码在web config文件在发布的服务器上 另一方面 您是否建议将用户名
  • 将 ImageView 保存到 Android 模拟器库

    我想将图像保存到 Android Gallery 这是我当前的代码 image setDrawingCacheEnabled true image buildDrawingCache true Bitmap b image getDrawi
  • 必须声明标量变量

    首先 我创建了一个包含一列的内存表 并使用这些列值与另一个表进行内部联接 这样做时我收到此错误 必须声明标量变量 暂时的 谁能解释一下我哪里出了问题 DECLARE ID INT Declare Temporary Table Accoun