我有这个Sql
难题,我正在使用 Sql server 2005
以下查询工作正常
DECLARE @query VARCHAR(200)
DECLARE @colname varchar(50)
CREATE TABLE #temp (ID INT IDENTITY PRIMARY KEY , value VARCHAR(50))
INSERT INTO #temp VALUES ('first')
SET @colname = 'myCol'
SET @query = 'SELECT value AS' + @colname + ' FROM #temp'
EXEC(@query)
DROP TABLE #temp
但
如果我这样做
SET @colname = (SELECT value FROM tablename WHERE id = 12) --valid selection
或者
SELECT @colname = value FROM tablename WHERE id = 12 --valid selection
我没有得到任何结果,我收到一条消息说:
(1 row(s) affected)
和错误消息:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '1'.
任何人都知道这件事是怎么回事谢谢