0
SQLクエリ結果で列に名前を付けるために変数を使用する方法はありますか?下の私の例は、 "不正な構文"エラーを示していますか?変数を使用してクエリ結果列に名前を付ける
declare @ColumnName varchar(100) = 'Column 1'
Select CustomerNumber as @ColumnName
from Customers
SQLクエリ結果で列に名前を付けるために変数を使用する方法はありますか?下の私の例は、 "不正な構文"エラーを示していますか?変数を使用してクエリ結果列に名前を付ける
declare @ColumnName varchar(100) = 'Column 1'
Select CustomerNumber as @ColumnName
from Customers
一般に、SQLは、列エイリアスとして使用する変数の定義を処理しません。つまり、dynamic SQLを使用することに頼る必要があります。これには、クエリを作成してからsp_executesql
プロシージャを使用して手動で実行する必要があります。
次は、SQL Serverを使用して動的に実行し、既存のクエリの例です:
-- Define your variable
DECLARE @ColumnName VARCHAR(100) = 'Column 1'
-- Define your SQL query
DECLARE @SQL NVARCHAR(200) = 'SELECT CustomerNumber AS ' + @ColumnName + ' FROM Customers'
-- Execute your query dynamically
EXEC sp_executesql @SQL
これはうまくいきました - ありがとう –
あなたはSQLのどのような風味を使用していますか? SQLサーバー?アクセス? MySQL? –
ほとんどの場合、このようなタスクには '動的SQ'Lが必要です。 –
なぜなのですか?クライアントは、使用する列名をクライアントがどのように知っていると思われますか? –