这是我的代码:
SELECT * FROM (select area from clubs where CLUB = 'AVR')
我想使用de second select中的resut作为第一个选择的表名,但sql server不接受此代码。请帮助:(
答案 0 :(得分:2)
您应该可以这样做,但只能使用动态SQL。首先,我将子查询的结果分配给会话变量,然后使用它来构建动态SELECT *
查询。
SET @TableName = (SELECT TOP(1) area from clubs where CLUB = 'AVR')
SET @SQLQuery = 'SELECT * FROM ' + @TableName
EXECUTE sp_executesql @SQLQuery
我已将TOP(1)
添加到子查询中,以确保只返回一个表名。