私はSQLが初めてで、単一のクエリで各列に異なる条件を使用してテーブル列から選択できるかどうか疑問に思っていました. たとえば、「名前」、「誕生日」、「給与」という 3 つの列を持つテーブルがあるとします。誕生日または給与のいずれかが空のときに名前から選択したいのですが、誕生日と給与自体が空の場合にのみ選択したいです (つまり、行に名前があり、誕生日がなく、給与があり、名前と誕生日のみがある場合)選択されます)。postgreSQLでこれを行う方法はありますか?
1 に答える
0
PostgreSQL の SQL クエリの列は固定されています (可変列の結果セットを持つことができる Informix とは異なります)。がある。ただし、これを回避する方法はいくつかあります。
JSON とモンスター CASE ステートメントを使用します。
HSTORE とモンスター CASE ステートメントを使用する
JSONと関数を使って柔軟に情報を組み立てます。
HSTORE と関数を使用して、情報を柔軟に組み立てます。
本当にこれが必要な場合は、少なくとも 9.1 (および拡張機能をインストールできる) または 9.2 (拡張機能がなくても) を使用している場合は、機能を備えた JSON を使用するのが最善の方法です。これは非常に簡単なことではなく、ある程度の練習が必要ですが、可能です。
もう 1 つのオプションは、値が見つからない場合に NULL を返し、それをクライアント側で処理することです。
于 2013-11-02T06:13:48.317 に答える