2

後で使用するために、サブクエリから複数の変数を選択しようとしています。これが私のコードです:

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
        )

次のエラー メッセージが表示されます。

サブクエリが EXISTS で導入されていない場合、選択リストに指定できる式は 1 つだけです。

など@MarketplaceNameからマッピングしようとしています。mcvm.MarketplaceName

私が望むのはSELECT、これらの変数ごとに複数のステートメントを記述する必要がないことです。

4

2 に答える 2

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
于 2013-01-09T20:22:17.117 に答える
3

これがあなたのやり方です。また、これはサブクエリではなく、単なるクエリです。

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
于 2013-01-09T20:22:52.613 に答える