0

データを変更せずに、ストアドプロシージャが返すものを変更しようとしています。LinkItemType = 3のたびに1を返そうとしていますが、構文エラーが発生し続けます。助けてください。

これが私が持っているものです。

DECLARE @ITEMTYPE Int

SELECT TOP 1000 
    [DataID]
    ,[ContactServiceID]
    ,[LinkID]
    ,@ITEMTYPE
    WHEN [LinkItemType] = 3 THEN @ITEMTYPE = 1 ELSE @ITEMTYPE = [LinkItemType]
FROM 
    [BCM2010].[dbo].[EntityReferences]
WHERE
    dataid = 54
ORDER BY 
    LinkItemType DESC
4

1 に答える 1

2

ローレンスが言ったことは正しい。あなたが探しているものはおそらく:

(注、私はあなたの変数を使用していません)

SELECT TOP 1000 [DataID]
  ,[ContactServiceID]
  ,[LinkID]
  ,ITEMTYPE = CASE WHEN [LinkItemType] = 3 THEN 1 ELSE [LinkItemType] END
 FROM [BCM2010].[dbo].[EntityReferences]
 WHERE dataid = 54
 ORDER BY ITEMTYPE DESC
于 2012-11-13T00:28:44.833 に答える