0

私のシナリオへのショートカットがあれば、誰かが私を助けてくれますか?

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」です

4

2 に答える 2

0

これを試して:

DECLARE @Col VARCHAR(1000), @sql NVARCHAR(max)
SELECT @Col = ValueFromTableB from TableA
SELECT @sql = 'SELECT ' + @Col + ' FROM TableB
EXEC sp_executesql @sql
于 2013-09-16T09:16:58.877 に答える
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
于 2013-09-16T09:52:44.520 に答える