ハガキ交換データのSQL文
下記のような葉書のデータベースでのSQL分についてお尋ねします。
Parsonals データベースに、
年賀状と暑中見舞いとのデータテーブル(Cards)のほか、
個人データテーブル(Individuals)と
家族データテーブル(Family)と
住所データテーブル(Address)との4つのテーブルがあります。
4つのテーブルは、次のように構成されています。
Individuals, Family, Address, Cards
です。
1.Individuals テーブルは、
ID (オートナンバー), Name (文字列), FamilyID (数値), AddID (数値)
の4つのフィールド
2.Family テーブルは、
FamilyID (オートナンバー), FamilyName(文字列)
の2つのフィールド
3.Address テーブルは、
AddID (オートナンバー), Address(文字列), Telephone(文字列)
の3つのフィールド
4.Cards テーブルは、
CardID(オートナンバー), KindOfCard(YesNo), SendYear(数値 ヌル値許可),
ReceiveYear(数値 ヌル値許可), IndividualID (数値)
の5つのフィールド
です。
個人データすべてのほか、個人ごとの家族データすべて、個人ごとの住所データすべて、
そして、個人ごとのKindOfCard(年賀状か暑中見舞いか)ごとにSendYearデータのうち最新のものと
ReceiveYearデータのうちの最新のものを取得するSQL文を取得したいのです。
簡単にいえば、
個人個人に対して、その個々人の個人データ・家族データ・住所データのほか、
年賀状を送った最新の年と受けた最新の年、
暑中見舞いを送った最新の年と受けた最新の年を取得したいのです。
さらに、最新の送った年と最新の受けた年とが同一のときは、データが重複しますので一つに絞りたいです。
Cardsテーブルのフィールドには、SendYearもReceiveYearもありますので、単純にSendYearとReceiveYearを切り分けると当然データが重複するので、この重複は避けたいです。
このように毎年の葉書のやり取りを記録したデータから必要なデータを取り出したいというものです。私にとっては来年の年賀状を送るにあたって、どの人に出すべきかを判断する材料として、ぜひ取りだしたいビューなです。
かなり複雑なSQL文になるのかもしれませんが、どんなSQL文かを教えてください。
ぜひ、よろしくお願いします。
お礼
助かりましたーありがとうございます。なんというものかもわからないので調べようがありませんでしたので。。