44

私は達成しようとしています:

declare @TEMP table (ID int, Name varchar(max))
insert into @temp SELECT ID, Name FROM Table

SELECT * FROM @TEMP 
WHERE @TEMP.ID  = 1        <--- ERROR AT @TEMP.ID

しかし、次のエラーが発生します。

スカラー変数「@temp」を宣言する必要があります。

私は何を間違っていますか?

4

8 に答える 8

17

テーブルで T のようなエイリアスを使用して T.ID を使用するか、列名のみを使用します。

declare @TEMP table (ID int, Name varchar(max))
insert into @temp SELECT ID, Name FROM Table

SELECT * FROM @TEMP 
WHERE ID  = 1 
于 2013-08-01T13:24:08.973 に答える
13

一時テーブルの別の方法があります

create table #TempTable (
ID int,
name varchar(max)
)

insert into #TempTable (ID,name)
Select ID,Name 
from Table

SELECT * 
FROM #TempTable
WHERE ID  = 1 

正しいデータベースを選択していることを確認してください。

于 2015-06-12T06:38:38.660 に答える