如何在T-SQL中分配多个内联变量?

Cod*_*man 2 sql t-sql sql-server subquery

我试图从子查询中选择多个变量,以便以后使用.这是我的代码:

DECLARE @MarketplaceName VARCHAR(50),
    @ProductFieldID INT,
    @FromValue VARCHAR(255) = (
        SELECT mcvm.MarketplaceName,
            mcvm.ProductFieldID,
            mcvm.FromValue
        FROM [Meta].[MarketplaceCategoryValueMapping] AS mcvm
        WHERE mcvm.MarketplaceCategoryValueMappingID = @MapID
        )
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

当未使用EXISTS引入子查询时,只能在选择列表中指定一个表达式.

我正试图@MarketplaceName从mcvm.MarketplaceName等地图等

我想要的是不必SELECT为每个变量写多个语句.

Mar*_*rkD 8

你想这样做吗?

DECLARE @MarketplaceName VARCHAR(50),
        @ProductFieldID INT,
        @FromValue VARCHAR(255)
SELECT  @MarketplaceName    = mcvm.MarketplaceName,
        @ProductFieldID     = mcvm.ProductFieldID,
        @FromValue          = mcvm.FromValue
FROM [Meta].[MarketplaceCategoryValueMapping] AS mcvm
WHERE mcvm.MarketplaceCategoryValueMappingID = @MapID
Run Code Online (Sandbox Code Playgroud)