当前位置: 首页 > 面试题库 >

如何在“来自select的日期”查询中使用表变量?

糜正业
2023-03-14
问题内容

我有此表变量声明后跟一个查询:

DECLARE @CurrentItems TABLE
(
    ItemId uniqueidentifier,
    ItemUnits int
)

UPDATE U SET U.Units = U.Units + [@CurrentItems].ItemUnits
    FROM @CurrentItems CI INNER JOIN U ON U.UId=CI.ItemId;

U定义如下:

CREATE TABLE [dbo].[U] (
    [UId]         UNIQUEIDENTIFIER UNIQUE NOT NULL,
    [Units]       INT DEFAULT ((0)) NOT NULL
);

当我在SQL Management Studio中针对SQL Server 2005 Express运行它时,得到以下信息:

消息208,第16级,状态1,第24行

无效的对象名称“ @CurrentItems”。

实际的问题是什么,我该如何解决?


问题答案:

您已经别名了@CurrentItemsCI所以只需使用CI

UPDATE U SET U.Units = U.Units + CI.ItemUnits
    FROM @CurrentItems CI INNER JOIN U ON U.UId=CI.ItemId;

还要看看您的查询中是否有类似的内容U.UId =CU.ItemID。什么是CU?您已使用CI为@CurrentItems作了别名,那么CU的目的是什么?如果这是一个错误,只需输入错误即可确保您更改对CUwith的任何引用CI

您也不告诉我们什么U,我希望这是一个有效的表。



 类似资料:
  • 问题内容: 我正在尝试在mongodb中执行查询日期,但结果始终为空。我的查询如下: //变量resultaMongo返回空。 Obs:我也尝试不使用.isoformat(),当我直接放入mongodb时,只有添加ISODate才返回结果。因此不会返回结果: 更重要的是,如果您编辑返回: 这是数据库中的记录序列: 如果我打印python的json变量,则会看到类似以下内容的内容: 我的Mongnd

  • 问题内容: 我有5个表或表要从\查询 我的语法我喜欢这样 问题是,当我运行此命令时,我收到一条错误消息:“ .....您在SQL WHERE Patient_ID =吗?附近有错误?” 当我使用system.out.println(sql2)输出sql时; 值未在sql2中设置 问题答案: 当您准备一条语句时,数据库将构造一个执行计划,如果表不存在,则该计划无法执行。换句话说,Placehodle

  • 问题内容: 我想使用表变量而不是临时表,但是我的主要查询构造是动态的。动态查询用单引号引起来,所以我该如何从@TableVariable中获取数据。我不想删除动态查询,因为稍后会添加一些参数。 例如,以下是错误代码,其中我已将表变量写入动态查询中..... 在这方面帮助我。 提前致谢。 问题答案: 试试这个 :

  • 我尝试为特定的查找我的实体。我的实体知道一周中的几天作为集合,知道两个作为开始和结束。 我的实体是这样的: 当我运行调用方法的测试时,我得到以下信息: 我搜索了一些关于如何在中正确使用panache的信息,但不幸的是,我没有找到任何信息。

  • 问题内容: 以下查询: 什么也不返回。 我应该有足够多的数据来使查询工作。我究竟做错了什么? 问题答案: 您的第二个日期早于您的第一个日期(即,您正在查询2010年9月29日至2010年1月30日之间)。尝试颠倒日期的顺序:

  • 我的文件夹根目录上有一个。env文件。这是我的。环境 我试图访问application.yml上的PORT变量,但它没有从。env文件中读取变量。这是我的申请。yml