1

私はいくつかの検索を行い、stackexchange に既に投稿された 1 つの質問から、答えは不可能であるというものでしたが、質問することにしました。mysql SELECT ステートメントの結果に表示される列を動的に選択する SELECT クエリを作成できるかどうかはわかりませんでした。例:

このテーブルには、Person、ID、Phone Number、Alt Number という列名があるとします。

John | 79 | 800-499-0000 | 800-499-5555

文字列 '800-499' がフィールドのどこかにある列のみをプルダウンするように SELECT ステートメントを作成したいと思います。したがって、理想的には MySQL からの結果は次のようになります。

800-499-0000 | 800-499-5555

唯一の問題は、列を動的に選択できるとは思えないことです。

任意のヘルプまたは確認をいただければ幸いです。

4

1 に答える 1

1

次のようなものを試すことができます:

select * from
(select concat(case when col1 like '%800-499-0000%' then concat('col1: ',col1,';') end,
               case when col2 like '%800-499-0000%' then concat('col2: ',col1,';') end,
 ...
               case when coln like '%800-499-0000%' then concat('coln: ',coln,';') end)
        as search_results
 from my_table) sq
where search_results is not null
于 2013-04-25T16:43:19.830 に答える