列がテーブルに存在する場合のみ選択する必要があります。それ以外の場合はnullに設定できます。SQL - 条件付きで列が選択されている場合
name marks
joe 10
john 11
mary 13
クエリ:
select
name,
marks if it exists else null as marks1 -- pseudo code
from
table1
以下
サンプルテーブルは、marks
COLがあること、それは表1
を存在するかどうかチェックする必要があります必要はないと言うことができます
marks
を選択するにはどうすればよいですか?
'marks 'がtable1の列であるかどうか*知りませんか? –
データベーススキーマの管理と移行の方法を**実際に**再考する必要があります。列が存在するかどうかわからないという事実は、誤ったプロセスを使用してデータベース内のテーブルを作成および更新していることを示している可能性があります。また、 'marks1'テーブルを持つことは、正規化されていないデザインの兆候でもあります。あなたは動的SQLを使ってそのようなことをすることができますが、**テーブルを管理する方法を修正することは**ますます多くなります –
@a_horse_with_no_nameはより広い点で同意しますが - これはスキーマと移行に関する質問ではありません - :)そしてコンテキストはアプリケーションではなく、実際の世界のデータは、私が制御できないソースから来ています - それはすべての期待される列であるかもしれないし、そうでないかもしれません。これをチェックしてください。 – user3206440