如果我的方案有快捷方式,有人可以帮助我。
SELECT ProductName FROM Product where ProductId = 1012
这句话的结果是“DoubleDutch”
SELECT ColumnName FROM ProductMapping
此声明的结果是“ProductName”
SELECT (SELECT PM.ColumName FROM Product where ProductId = 1012) FROM ProductMapping PM
现在我只是期待结果是“DoubleDutch” 但结果仍然是“ProductName”
答案 0 :(得分:0)
试试这个:
DECLARE @Col VARCHAR(1000), @sql NVARCHAR(max)
SELECT @Col = ValueFromTableB from TableA
SELECT @sql = 'SELECT ' + @Col + ' FROM TableB
EXEC sp_executesql @sql
答案 1 :(得分:0)
我认为这应该对你有用
DECLARE @Col VARCHAR(1000), @sql NVARCHAR(max)
Set @Col = ''
SELECT @Col = @Col + ValueFromTableB + ' , ' from TableB
Set @Col = Left(@Col , (LEN(@Col) - 1))
SELECT @sql = 'SELECT TableAId , ' + @Col + ' FROM TableA'
EXEC sp_executesql @sql