データを含む2つのテーブルがあり、1つのテーブルだけでやりたいことを行う方法の例をたくさん見てきましたが(ここでもSOで)、Firebirdを使用して複数のテーブルでそれを行う方法がよくわかりません(これはおそらく、ほとんどの人が単純な SQL と考えるものとそれほど違いはありません)、しかし、私はそれについて十分に知っているわけではありません。
ともかく -
次のコードがあります。
select cqd.customer_price, cqd.entry_date, pnm.pn
from cq_detail cqd, parts_master pnm
where cqd.pnm_auto_key = pnm.pnm_auto_key
order by cqd.entry_date desc
以下のサンプルのように、正しいデータが返されます。
CUSTOMER_PRICE, ENTRY_DATE, PN
------------------------------
1,052.00 08.01.2012, 1938-12
1,054.00 08.02.2012, 1938-12
1,050.00 08.08.2012, 1938-12
1,051.00 08.04.2012, 1938-12
5,052.00 08.20.2012, 9999-19
7,054.00 08.07.2012, 9999-19
3,030.00 08.12.2012, 9999-19
6,021.00 08.04.2012, 9999-19
私は完全に満足しています。残念ながら、結果セットが次のようになることを望んでいる権限は次のとおりです。
CUSTOMER_PRICE, ENTRY_DATE, PN
------------------------------
1,050.00 08.08.2012, 1938-12
5,052.00 08.20.2012, 9999-19
SQL は私の通常の仕事ではありません。私たちの通常の SQL 担当者は不在であり、彼が不在の間、より単純な項目のいくつかを処理しようとしています。
したがって、簡単に言えば、特定の PN ごとに最新の日付を返す必要があると思います。入れ子になった選択または何らかの形式の JOIN が必要になると思いますが、最近ではそれらは私を少し超えています。
前もって感謝します。
JB