人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下の検索をしたい場合SQLはどうなるのでしょうか?

Aというテーブルにa1とa2、a3、a4といったカラムがあります。

各カラムには英数字で構成された文字が格納されています。

例えば hatena という値が入っているカラム名を調べたい場合、どうしたらいいのでしょうか?SQL文をお願いいたします。

●質問者: esecua
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:A1 A3 Hatena SQL カラム
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●25ポイント

http://www.mars.dti.ne.jp/~o-shin/new/kowaza/body530.html

DECODE$B4X?t$H(BSIGN$B4X?t$NL%NO(B - ORACLE$B>.5;H"(B

SELECT DECODE(a1,’hatena’,’a1’),DECODE(a2,’hatena’,’a2’),DECODE(a3,’hatena’,’a3’),DECODE(a4,’hatena’,’a4’)

FROM A

WHERE

a1 = ’hatena’ OR a2 = ’hatena’ OR a3 =’hatena’ OR a4 =’hatena’


このようにすれば、それぞれレコードごとに hatena という値が 入っているカラム名が 表示されます。

◎質問者からの返答

回答ありがとうございました。

何回か試してみましたがエラーが出てしまいます。ところでDECODE関数は暗号化された値を復元するものと聞きましたがなぜこの関数でカラム名が表示されるのでしょうか?


2 ● ictelnet
●25ポイント

http://www.hatena.ne.jp/

はてな

言語内でフェッチしたら駄目なんですかね? まともにやろうとすると無理っぽいのですが、今回の与えられた条件であれば、書くことはできます。

-----SQL FOR ORACLE ---------

SELECT CNAME FROM (

SELECT CNAME,DCLM FROM

(SELECT ’a1’ CNAME,a1 DCLM FROM A

UNION ALL

SELECT ’a2’ CNAME,a2 DCLM FROM A

UNION ALL

SELECT ’a3’ CNAME,a3 DCLM FROM A

UNION ALL

SELECT ’a4’ CNAME,a4 DCLM FROM A

) ALLCLMDATA

WHERE DCLM LIKE ’%hatena%’

) GROUP BY CNAME

-------END OF SQL---------


-------DML START ---------

Drop Table A;

Create Table A (

a1VARCHAR2 (50)not null,

a2VARCHAR2 (50)null,

a3VARCHAR2 (50)null,

a4VARCHAR2 (50)null

)

;


Alter Table A ADD CONSTRAINT PK_A Primary Key (

a1

);

---------DML END ---------


----------DATA (CSV) -----

”AAAA”,”BBBB”,”CCCC”,”EDD”

”CDE”,”DD”,”EESS”,”EEE”

”VVVDD”,”DCDD”,”EEEE”,”SSSS”

”HATENA”,”HAHAHA”,”WAHAHA”,”SHIDHF”

”hatena”,”SSSS”,”EEEEE”,”DDDD”

”DDDDD”,”hatena”,”EEEEE”,”DDDCC”

”WWWW”,”EEEEE”,”ERERE”,”CCCCC”

------- DATA END --------

------- RESULT ----------

CNAME

-----

a1

a2

------- RESULT END ------


以上のようになりますが、カラム名がn個というように不特定であったりすると難しいように思えます。

◎質問者からの返答

回答ありがとうございます。

残念ながら使用しているDBはMySQLなんです。ん〜やっぱり無理なんでしょうか?

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ