その値に基づいて列の名前を取得する方法はありますか。Oracle:テーブルの値に基づいて列名を取得
例については
のは、私はすべての回で1行しか持っていますが、別のスキーマとは異なり、テーブルと呼ばれるアクセス権を持っているとしましょう。また、値は0または1のいずれかにしかなりません)
value = '1'に基づいて列 'field0'を選択する方法はありますか?
私は特定のテーブルのコードを使用してそれを行うことができますが、私はそれをOracleクエリーを使用して実行したいと考えています。
私が持っていた唯一のアイデアは
select column_name from ALL_TAB_COLUMNS where TABLE_NAME='table' -- but no way to check for value;
を確認することでした任意の提案は大歓迎されています。
標準SQLではなく、これには動的SQLが必要ですが、これは一般的には良い考えではありません。この質問につながるビジネス上の問題は何ですか?おそらくもっと良いアプローチがあります。 – mathguy
目標は、このクエリから返された列名に基づいてフォームフィールドを表示/非表示にすることでした。しかし、私はすべてのページのためにこれを処理するクラスを構築したい、各ページのためにこれを行う必要はありません。 – user1751510
これは奇妙な設定ですが、all_tab_columnsをあなたの "アクセス"テーブルに参加させてみましたか?しかし、私はmathguyに同意します。おそらくより良いアプローチです。 – tbone