• ベストアンサー

特定の列を抜き出す

Tiffa9900の回答

  • ベストアンサー
  • Tiffa9900
  • ベストアンサー率31% (68/216)
回答No.1

ストアドやPG内で変数としてクエリを生成してSQL-Serverへ変数毎投げるのであれば、以下のクエリでカラム名を取得できるので恐らく可能ですけど。 クエリのみだと難しいかな……… 私の知っている限り、クエリの結果をカラム名としてSELECT句へ展開する事ができないので。 SELECT c.name FROM sysobjects o , syscolumns c WHERE o.name = 'テーブルA' AND c.id = o.id AND c.name like '00%' ORDER BY c.colid お役に立てずに申し訳ないです。m(_ _)m

kikei
質問者

お礼

回答有難うございます。 カラム名取得からフェッチで展開することが出来ました 有難うございました~

関連するQ&A

  • SQLserverでの列の削除について

    SQLserver2000にてSQL文の練習をしている、データベースの初心者です。 SQLserverでは、直接列の削除ができないと聞きました。 ---------------------------------------- ALTER TABLE テーブル名 DROP 列名 ---------------------------------------- ↑このようにはできませんでした。 そこで、いったん削除したい列以外の列がある別のテーブルをつくってからテーブル名を変更する方法として、 1,新しいテーブルを、元のテーブルからデータをコピーして作る。 2,元のテーブルを削除 3,新しいテーブルの名前を元の名前に変更。 という手段を使えばよいという情報を得ましたが、1の部分がどうしてもできません。 (テーブル削除、テーブル名の変更はできました) ---------------------------------------- CREATE TABLE 新しいテーブル名 AS SELECT 削除した列以外の列名 FROM 元のテーブル名 ---------------------------------------- このようにすると、 ---------------------------------------- サーバー : メッセージ 156、レベル 15、状態 1、行 2 キーワード 'AS' 付近に正しくない構文があります。 ---------------------------------------- といわれてしまいます。 EnterpriseManagerを使わずにやる方法が知りたいです。 正しいSQL文をどうかご教授ください。 どうぞよろしくお願いいたします。 ※ちなみにOSはWIN2000を使っています。

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

    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 @列名は変数のつもりです。 このようにできればよいと思っていますが・・・ よろしくおねがいします

  • SQLで新しいテーブルに条件を付けた列を作る

    お世話になります。 SQLで新しいテーブルを作り、新しい列に入れる条件についてお聞きしたいです。 新しいテーブル(CREATE TABLE)で、 新しい列名「メール区分」に、 顧客マスターテーブルで「メールアドレス」列のデータで@docomo.co.jp、@ezweb.ne.jpだった場合は1を設定し、それ以外のメールアドレスの場合も全て1にするという設定がしたいです。 case文で作るのかな? というところまでは思いつくのですが、そこから先へ進めません。 この場合のSQL文をご教授いただければと思います。 環境はSQLserver2016expressです。 初心者なので必要であれば加筆いたします。 どうぞよろしくお願いいたします。

  • mysqlに格納したエクセルファイルの、シート内の文字列を検索したいの

    mysqlに格納したエクセルファイルの、シート内の文字列を検索したいのですが上手くいきません。 半角英数の文字列なら、以下のSQL文で引っ張ってくることができました。 SELECT * FROM テーブル名 WHERE 列名 LIKE '%abc%'; mysqlのバージョンは5.1です。 検索はPHPで行おうと思っています。 どなたか知っている方いらっしゃいましたら、よろしくお願いします。

  • oracleの表の各列に対して、

    oracleの表の各列に対して、 不正な文字がないかどうかをチェックする方法として、 select 各列名 from 表名 where文で実施したいのですが、 1文字づつチェックするsql文はどのようにしたら良いでしょうか? 例:abcXXXefg aからgまでをチェックし、XXX部分の不正文字を抽出する。 宜しくお願いします。

  • 文字列を入力すると文字化ける

    SQLにSELECT文を書き、サーブレットを通しjspに結果を出力したいのですが SQL文をこのように書いているにもかかわらず↓ "select sum(oni) as oni from テーブル名 where ken = '" + ken + "'"; いざ文字列を入力し、デバッグを確認すると下記のような文字化けを起こしています↓ select sum(oni) as oni from テーブル名 where ken = '本社' 文字列を入力してそのまま反映させるにはどこを書き換えれば良いのでしょうか?

  • SQL SELECT文について

    本来SELECT文で列を表示させる時には列名をいれますが、 例) select 列1,列2 from テーブル名 列名ではなく列を数字で指定したい場合はどうすればいいのでしょうか? ちなみに select 2,3 from テーブル名 のやり方だと駄目でした。 ご教授おねがいします。

  • SELECT文

    SELECT文で列を指定するのではなく 列には存在しない、自分で指定した文字列を 表示させるにはどうすればいいのでしょうか? 文的にはこのようなイメージです。 SELECT 指定した文字列,存在する列名 FROM テーブル名 分かり難いかもしれませんが よろしくお願いします。

  • Postgresql 日付 文字列比較

    現在Postgresqlの日付 文字列比較で困っています。 あるテーブルに更新日付を入力するカラムがあるのですが、 「SELECT * FROM test WHERE updatetime = '2013/07/26 12:07:13'」 というSQLを実行した場合、updatetimeが「2013/07/26 12:07:13」のデータが取得できません。 Create Castでキャストを作ってやる必要があるのでしょうか? もしくは別の方法がございましたらご教授をお願い致します。

  • SQL CASE 文について

    開発環境 SQLSERVER VB2005 SQLのCASE文についての質問ですが、DATE型のデータが有効値の場合は”スペース”それ以外の場合は格納されているDATE型を表示したいのですが、どなたかご教授お願いいたします。下記のSQLでは全ての日付が出てしまいます。 SELECT CASE 日付 WHEN '2000/01/01' THEN ' '     ELSE 日付          END AS Expr1 FROM  テーブル CASE文以外でもできますか? よろしくお願いいたします。