• ベストアンサー

列名に変数を使うことはできないのでしょうか?

SELECT TABLE.field AS @変数名 FROM・・・ とするとエラーになります。 列名に変数を使うことはできないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yuu8969
  • ベストアンサー率12% (2/16)
回答No.1

その場合、全部を変数に入れればできます。 デカいSQLだとけっこう大変なことになりますけどね(^^; 例) @変数A = "SELECT TABLE.field AS " + @変数B + " FROM・・・" EXECUTE(@変数A)

mini7756
質問者

お礼

ご回答ありがとうございます。 それ以外方法ないんですね? デカいSQLなので、かなり大変なことになってます (-_-;) 8000バイトで足りず、8000バイト×2で今挑戦中ですが、 なんとかできそうです。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • クエリビルダで列名を変数にしたいが

    VisualStudio2010でwebアプリを作成しています。 クエリビルダでSQL文を作成しSQLサーバにアクセスしています。 このSQL文でわからない点があります。 列1、列2、列3のフィールドを持つテーブルがあるとします。 ドロップダウンリストで選択した項目により、ある時は列1だけ取得し ある時は列2だけ取得し、ある時は列3だけ取得する様なSQL文を作りたいのですが、どうすればよいかわかりません、列名を変数にできればよさそうなんですが、そんなことできますか? ある時は SELECT 列1 FROM table1 ある時は SELECT 列2 FROM table1 ある時は SELECT 列3 FROM table1 としたいので   SELECT @列名 FROM table @列名は変数のつもりです。 このようにできればよいと思っていますが・・・ よろしくおねがいします

  • 置換変数とLIKE条件

    SQL文で「SELECT * FROM テーブル名 WHERE 列名 LIKE = '&%'」で実行するとレコードは選択されませんとなり、変数をの入力もできません。 置換変数とLIKE条件は一緒に使えないのでしょうか?

  • 列名を式で指定することはできますか。

    列名を式で指定することはできますか。 例えば、 SELECT `CONCAT('名', '前')` FROM `顧客` みたいなことがしたいです。

    • ベストアンサー
    • MySQL
  • Oracleのビュー作成時に「指定した列名の個数が無効です」エラー

    初歩的な質問かと思いますが、宜しくお願い致します。 Oracle10gでViewを作成する際に、以下のようなSQLを発行しています。 SELECT 列名1 FROM テーブル名1 この際、スケール(小数点)ありの列名を指定すると 「指定した列名の個数が無効です」というエラーが表示されてしまうのですが、エラー原因がわかりません。 (スケールなしの列名は問題なし) お手数ですが、ご教示いただけませんでしょうか。

  • TIMESTAMP型が含まれるテーブルの列名の取得

    Oracle 11gを使用しているSQL初心者です。 テーブルの列名を取得する方法についての質問です。 テーブルの列名を取得するときは以下のSQLで取れると思っています。 select column_name from user_tab_columns where table_name = 'テーブル名'; --実行結果-- COLUMN_NAME ------------------------------ NAME1 NAME2 しかし、テーブルにTIMESTAMP型が含まれていると 「レコードが選択されませんでした。」 と表示されます。 TIMESTAMP型が含まれるテーブルは上記のSQLでは取得できないのでしょうか。 TIMESTAMP型が含まれるテーブルの列名の取得方法をご存知の方がいらっしゃいましたら、 ご教示ください。よろしくお願い致します。

  • GROUP BY で列名は指定できないの?

    いつもお世話になっております。 SQLで GROUP BY を使うときに SELECT部分で指定した 列名を指定したいことがよくあると思います。 列名を指定する方法はないのでしょうか? 例) SELECT 項目A, CASE WHEN 項目B = 1 THEN '○' WHEN 項目B IN (2,3) THEN '×' END AS 丸バツ, SUM(数量) FROM TABLE GROUP BY 項目A, 丸バツ こんな風にGROUP BYで指定したいのですが・・・。

  • @変数の使い方

    お世話になります。 以下のようなクエリで、変数にNULLが入ります。 何が悪かったのでしょうか、ご教示ください。 SELECT @change := MAX( 購入日 + INTERVAL 2 YEAR ) as 交換日 FROM テーブル WHERE @change > '2012-04-24' お願いします。

    • ベストアンサー
    • MySQL
  • joinの場合のテーブル名の別名の使用方法

    select * from table1 a,table2 b where a.field1=b.field1; とできますが select * from table1 as a left join table2 as b on a.field1=b.field1; とできません。 joinの場合にテーブル名の別名を使う方法を教えてください

  • MSDEのSQLについて

    DB初心者です。 通常のAcceessで支障なく使っていた以下のようなSQL文がMSDEのビューではエラーがかかって使えません。原因と対応法を教えて頂けないでしょうか? < 「テーブル1」の「フィールド1」と「フィールド2」の相関係数を算出するSQL文 > SELECT (Sum(([フィールド1]-(SELECT AVG([フィールド1]) FROM テーブル1))*([フィールド2]-(SELECT AVG([フィールド2]) FROM テーブル1))))/Sqr(Sum(([フィールド1]-(SELECT AVG([フィールド1]) FROM テーブル1))^2)*Sum(([フィールド2]-(SELECT AVG([フィールド2]) FROM テーブル1))^2)) AS 相関係数 FROM テーブル1; これがMSDEだと下のようなエラーになります。 ADOエラー: 集計やサブクエリを含む式に対して集計関数を実行することは出来ません。 どうしたいいでしょうか? また、MSDEや易しいTransactSQLを習得する良い方法があればアドバイスを頂きたいのですが。

  • 列名が無効とエラーが出ます。

    SQLServe2000でビューを作成していて困っています。 問題のSQL文は SELECT k.hiduke, year(k.hiduke) as segyear, month(k.hiduke) as segmonth from dbo.S_View_kado2 as k where segmonth=1 上記SQLを実行すると 列名'segmonth'は無効です とエラーが発生します。where文を削除するとエラーは出ません。 where文を where segyear=2009 としてもエラーは起きません。 原因が判らず困っています。 ご回答頂けると幸いです。宜しくお願いいたします。