私は4つのテーブルを持っています:
表1: batch_info with columns batch_id, brew_date, beer_style_name
表 2: brew_fermentation with columns batch_id (FK of batch_info), fermentor_name (FK of fermentor),.
.
表 3: fermentor with columns, fermentor_name, tank_volume
表 4: Produced_amount with columns batch_id(FK of batch_info), produced_amount, date_transferred
ビールが醸造されると、表 1 と表 2 に入力されます。ビールの発酵が完了すると、データが表 4 の Produced_amount に入力されます。
作成したいのは、このようなテーブルです
Fermentor # | Batch_ID | Tank_Size | Date_Brewed | Beer Style
F10.1 13001 10 2013-01-12 IPA
F20.2 NULL 20 NULL EMPTY
次のSQLステートメントがあります。
ただし、発酵槽テーブルのすべての発酵槽が表示されるわけではなく、現在何かが含まれている発酵槽のみが表示されます。上記のようにテーブルにデータを入力したいと思います。
SELECT brew_fermentation.fermentor_name AS "Fermentor #",
batch_info.batch_id AS "Batch Number", batch_info.beer_style_name AS
"Beer Style", batch_info.date_brewed AS "Date Brewed",
fermentor.tank_volume AS "BBLs"
FROM batch_info, fermentor, brew_fermentation
WHERE batch_info.batch_id = brew_fermentation.batch_id AND
brew_fermentation.fermentor_name=fermentor.fermentor_name AND
batch_info.batch_id NOT IN (SELECT produced_amount.batch_id FROM
produced_amount)
ORDER BY batch_info.date_brewed