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

T-SQL:如何联接@variable表(另一种尝试)

艾原
2023-03-14
问题内容

如果我尝试以下示例查询:

DECLARE @_Files TABLE (ID INT, Filename VARCHAR(MAX));
DECLARE @_Errors TABLE (ID INT, Label VARCHAR(MAX), Value VARCHAR(MAX));

insert into @_Files
    select 73, 'abc'

insert into @_Errors
    select 73, 'Some label name', 'Just a value'

select
    *
from
    @_Errors 
    inner join @_Files
    on @_Errors.ID = @_Files.ID

我收到错误消息:

The @_Errors-scalar variable must be declared.
The @_Files-scalar variable must be declared.

我正在使用SQL-Server 2008 R2 Express,它以兼容级别100运行。


问题答案:

给他们一个别名,然后在中JOIN使用别名,或使用方括号。下面混合了两种可能性。

SELECT *
FROM   @_Errors Errors
       INNER JOIN @_Files 
         ON Errors.ID  = [@_Files].ID


 类似资料:
  • 问题内容: 我有一个数据表(AmenityData),该表的一列包含postalsectors,例如E14 7 我也有一个Excel电子表格,其中包含邮政区的列表,例如E14 我需要从AmenityData表中获取所有数据,该表中的邮政地区类似于邮政部门,例如WHERE [PostalDistricts] +’%’LIKE [PostalSector]。 我目前正在使用的代码不会出现错误,而是什么

  • 我是新手。我有以下两张桌子。一张专辑: 另一个是歌曲: 所以所有这些歌曲都属于“自由”专辑。在api调用中,我使用dapper显示所有相册,这很好。 结果如下: 但是我想加入这张专辑的相关歌曲。我试过以下方法,但不起作用,你知道为什么吗? 它只是说:附近的语法不正确。

  • T-SQL 组合来自两个或多个表的记录。它用于将两个或多个表中的记录连接到数据库中。JOIN 用于通过使用彼此相等的值连接许多表中的字段。 假设有下面两张表,(a) CUSTOMERS表,记录如下—— (b) 另一个表 ORDERS,记录如下 - 在 SELECT 语句中连接这两个表,如下所示 - 执行上面查询语句,得到以下结果 - 连接在 WHERE 子句中执行。许多运算符将用于连接表,例如:

  • 问题内容: 我有3个表t1,t2,t3。我想要基于以下条件的结果集:t1在t2上具有外部联接(t1的所有行),t1在t3上具有外部联接(t1的所有行),而t2在t3上具有外部联接(t2的所有行)。如何在单个查询中使用这些外部3个联接?基本上我想将t- sql格式的查询转换为ANSI格式。原始查询是这样的 我设法使用前2个联接作为 这对于前两个条件正常工作。但是无法合并第3个联接。任何人都可以提出一

  • 问题内容: 我有4个不同的表要加入。这些表的结构如下: 从表A开始,我了解如何使用b联接表a和c,因为b具有这些表的主键。我也希望能够在TableA上加入表TableD。下面是我的SQL语句,该语句首先连接表A和B,然后将其连接到C: 当我尝试添加另一个联接以包括D时,出现“ TableD”未知的错误: 问题答案: 您想要更多类似这样的东西: 在您的示例中,您实际上并未包含。您要做的就是像以前一样

  • 问题内容: 我有三个表:R,S和P。 表R通过外键与S连接;有 应该 是S中至少一个的记录,所以我可以加入: 如果S中没有记录,那么我没有行,那很好。 然后表S与P联接,其中记录为P可能存在,也可能不存在,并与S联接。 所以我做 如果我想将第二个JOIN绑定到S而不是R,例如我可以使用括号,该怎么办: 还是这已经是R,S和P之间笛卡尔积的自然行为? 问题答案: 各种外部联接和普通联接都在相同的优先