1
私はコースのテーブルを持っています:c_inst、c_year、c_program_type、c_unique_key。私はc_program_typeが 'V'から 'P'へと2016から2017までの間で変更された場所を見つけたいと思います。これを実行するには問題があります。ここで私が試したものであり、私はそれが間違ってちょうど平らなことを知っている:前の年から変更されたすべてのレコードを選択しようとしています
select * from courses a
where c_program_type in ('P','V')
and c_year = '2017'
and c_program_type != (select c_program_type from courses b where
a.c_unique_key = b.c_unique_key and c_year = '2016')
SQL noobのためにこれを行うための最も簡単な方法は何ですか?私はまた、SQL Serverの一時テーブルを使用してみましたが、そこに運がなかった。前もって感謝します!
を試すことができますか後者の場合は、古い行が廃止されたことをどのようにフラグしますか? – Cowthulhu
PとVは 'c_program_type'のための唯一の許容値ですか、それとももっと可能性がありますか? – Haris
c_program_typeにはもっと可能性がありますが、私は特にPとVを探しています。 – Emily