相关疑难解决方法(0)

在exists语句中使用表变量

我试图根据条件更新表变量中的列,条件是表变量的ID不存在于不同的表中:

DECLARE @BugRep TABLE(BugCode VARCHAR(50),DevFirstName VARCHAR(50), DevLastName    VARCHAR(50), BugDate VARCHAR(20), IsValid VARCHAR(1))

UPDATE @BugRep 
SET IsValid = 'N' WHERE NOT EXISTS(SELECT * FROM BUG b WHERE @BugRep.BUGCODE = b.CODE)
Run Code Online (Sandbox Code Playgroud)

当我尝试编译具有这些语句的过程时,我得到一个"必须声明标量变量"@BugRep"消息.

我如何在NOT EXISTS子句中使用表变量?

我正在使用SQL Server 2008

t-sql sql-server not-exists table-variable sql-server-2008

11
推荐指数
2
解决办法
4155
查看次数

在T-SQL中,如何在子查询中引用表变量?

我已经声明了一个表变量'@t',并正确执行了'INSERT-INTO-SELECT'.当我试图通过对每组行编号进行一些额外计算来查询表变量时,我在使用'@t'直接使用"必须声明变量"或使用'@t'的别名时出现"无效对象名称"错误".请提出建议.

SELECT 
    *,
    (SELECT COUNT(*) FROM "LTV" "COUNTER"
     WHERE 
        "COUNTER"."Collateral_ID" = "LTV"."Collateral_ID"
        AND
        "COUNTER"."m_il_no" = "LTV"."m_il_no"
        AND
        "COUNTER"."Ref_Key" <= "LTV"."Ref_Key"
     GROUP BY "COUNTER"."Collateral_ID", "COUNTER"."m_il_no"
    ) "MIL_IDX"

FROM @t AS LTV
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2000 table-variable

2
推荐指数
1
解决办法
2889
查看次数

这个简单的UPDATE FROM查询中的错误在哪里?

这应该非常简单,但我想要做到这一点,因为我正在对一个实时数据库进行更改(它已备份).

我从CSV文件中导入了一些列值到数据库表.

现在我只想从导入的源表(查询中的S)更新目标表(查询中的T).

我收到错误: The multi-part identifier "T.account_manager_id" could not be bound.

update DADatabaseMarch2012.dbo.Campaign

set 
    T.[account_manager_id]=S.[account_manager_id]
   ,T.[campaign_status_id]=S.[campaign_status_id]
   ,T.[ad_manager_id]=S.[ad_manager_id]
   ,T.[advertiser_id]=S.[advertiser_id]
from 
    [zMarch12CampaignsRestore].[dbo].[March12Eom_Campaigns] S
    inner join DADatabaseMarch2012.dbo.Campaign T ON S.id = T.id
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

0
推荐指数
1
解决办法
103
查看次数