如下例所示(可能不是一个好例子):
DECLARE @var1 VARCHAR(50)
SET @var1 = (SELECT TOP(1) MiddleName FROM myTable)
SELECT Name, SSN AS @var1
FROM myTable
我试图通过使用AS语句(在本例中是表MiddleName
中的第一个myTable
值)作为SSN
列名称来设置变量中的值。关于如何使这项工作的任何想法?
答案 0 :(得分:3)
您需要动态SQL。
mLayout.setPanelHeight(your_drag_layout.getHeight())
答案 1 :(得分:2)
如果您确实需要这样做,请使用exec()
或sp_executesql
:
DECLARE @var1 VARCHAR(50);
SET @var1 = (SELECT TOP(1) MiddleName FROM myTable);
DECLARE @sql NVARCHAR(MAX);
SET @sql = 'SELECT Name, SSN AS [@var1] FROM myTable';
SET @sql = REPLACE(@sql, '@var1', @var1);
EXEC sp_executesql @sql;
答案 2 :(得分:0)
试试这个:
DECLARE @var1 VARCHAR(50)
, @sql NVARCHAR(MAX)
SET @var1 = ( SELECT TOP ( 1 )
MiddleName
FROM myTable
)
SET @sql = N'SELECT Name, SSN' + ' ' + @var1 + 'FROM myTable'
EXEC sys.sp_executesql @sql
注意: - 请记住在@ var1之前至少有一个空格。