SQL Server:内部联接中使用的表变量 [英] SQL Server: table variable used in a inner join

查看:24
本文介绍了SQL Server:内部联接中使用的表变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面的 SQL 有什么问题.JOIN 子句中可以不使用表变量吗?

What is the problem with following SQL. Can table variable not be used in JOIN clause?

错误消息是消息 170,级别 15,状态 1,第 8 行第 8 行:'t1' 附近的语法不正确."

Error msg is of "Msg 170, Level 15, State 1, Line 8 Line 8: Incorrect syntax near 't1'."

Declare @t TABLE (
    _SportName  varchar(50),
    _Lang       varchar(3)
)

insert @t VALUES('Basketball', 'ENG') -- ENG

UPDATE tblSport t1 
SET 
    t1.SportName = @t._SportName
FROM 
    @t INNER JOIN tblSport ON (t1.Lang = @t._Lang)

谢谢.

推荐答案

将您的最后一条语句更改为:

Change your last statement to:

UPDATE t1, temp
SET t1.SportName = temp._SportName
FROM tblSport AS t1
INNER JOIN @t AS temp
    ON t1.Lang = temp._Lang

(需要检查准确的语法)

(need to check exact syntax)

这篇关于SQL Server:内部联接中使用的表变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆