- PR -

フィールドを可変にする

1
投稿者投稿内容
くー
ベテラン
会議室デビュー日: 2005/02/07
投稿数: 86
投稿日時: 2005-08-18 14:11
OS:XP
DB:MSSQL8.0

いつもお世話になっています。
場合によってセレクトするフィールドを変えたいです。

select 項目1 from 項目
select 項目100 from 項目

SQL文でフィールドの名前を可変にすることはできるのでしょうか?
(変数を使ってもフィールドとして認識されないのは承知です・・・)
TLC
大ベテラン
会議室デビュー日: 2005/05/31
投稿数: 152
お住まい・勤務地: 東京都
投稿日時: 2005-08-18 15:14
引用:

シルバーさんの書き込み (2005-08-18 14:11) より:

場合によってセレクトするフィールドを変えたいです。




お疲れ様です。
nvarchar でオーバーフローしない程度のコマンド整形用の変数を用意して,

選択したいカラムを組み立てた変数を作る。
sp_executesql でクエリする

という作業を行うストアドプロシージャを作ればできると思いますが。

----------
TimberLandChapel
http://blogs.timberlandchapel.com/blogs/timberlandchapel/
くー
ベテラン
会議室デビュー日: 2005/02/07
投稿数: 86
投稿日時: 2005-08-18 15:39
TLC様
sp_executesqlの関数の使い方がわかりました。
この方法ならば自分の意図した処理ができそうです。
教えて頂きありがとうございました。

私は値を取りたかったので以下の文にしました。
declare @a nvarchar(200), @b int
set @a = 'select @b = count(userID) from users'
execute sp_executesql @a, N'@b int output', @b output
1

スキルアップ/キャリアアップ(JOB@IT)