4つの列を持つビューを作成しました。それはこのようなものです。ビューとキャストへのテキスト
status | name | faculty | starting
Garbage value | James Donald | XYZ | 2001-01-01
" Ross Harley ABC 2013-04-04
これはもっと価値がありますが、それは心配ありません。 ステータスのガベージ値を「最長のサービング」または「最短のサービング」のテキストに置き換える必要がありますが、そうすることはできません。
答えは、ビューQ3を作成するための私の最初のクエリがある
status | name | faculty | starting Longest Serving | James Donald | XYZ | 2001-01-01 Shortest Serving | Ross Harley | ABC | 2013-04-04
次のようになります。統計情報として
create or replace view q3 (status, name, faculty, starting) as
select max(q.starting) as status, q.name, q.faculty, q.starting
from q2 q
where (starting in (select min(starting) from q2))
or (starting in (select Max(starting) from q2))
group by q.name, q.faculty, q.starting;
最大(q.starting)ごみです。
The 2 views involved
それは何やっていることは、本質的に、最長と最短の列の開始に基づくを務めた人を見つけることです。 (ビューq2のデータ)、ステータスを最長提供または最短提供のいずれかに置き換えます。
問題を理解して解決策を知ることができれば、大きな助けになります。ありがとう。
使用しているDBMS? – jarlh
PostgreSQLのpsql –
サンプルデータと期待される結果を追加できますか? – jarlh