2016-10-04 7 views
0

私は、特定の人々が50年間にわたって働いていた場所に関する様々な履歴データを持ったテーブルを持っています。簡単にするために、各レコードには日付、person_id、address_id、およびブール値がtrueまたはfalseであり、2番目のブール値の存在がtrueまたはfalseです。データには散発的なものがあるため、一致するものはあまりありません。人は自分の仕事場に住んでいた可能性がありますが、この質問の目的では無視することができます。365日以内に特定のデータを見つける

人の1年の範囲内に勤務先住所と居住地がある場合、それぞれのインスタンスを検索したいと思います。もちろん、その人は50年間に雇用と住居を変更することができました。

情報の要約は、https://secure-shore-68966.herokuapp.com/connectionsに見ることができます。

Railsのプログラムでは、SQLでこれを行う方法は、/アクティブレコードがあるhttps://bitbucket.org/MtnBiker/crores5/

でいるのですか?私は各レコードの繰り返しを見ることができ、その人の各レコードのプラスまたはマイナス6カ月の出現を見つけることができます。しかし、私はSQLの方法を望んでいます。私は各ペアの間にマップ上に線を描きたい。

表:residtrueある場合 CREATE TABLE public.years ( id integer NOT NULL DEFAULT nextval('years_id_seq'::regclass), year_date date, created_at timestamp without time zone NOT NULL, updated_at timestamp without time zone NOT NULL, resto boolean, resid boolean, source text, person_id integer, location_id integer, title character varying, notes text, resto_name character varying, ref_link character varying, ref_url character varying, snippet_file_name character varying, snippet_content_type character varying, snippet_file_size integer, snippet_updated_at timestamp without time zone, CONSTRAINT years_pkey PRIMARY KEY (id), CONSTRAINT fk_rails_8fc1813509 FOREIGN KEY (person_id) REFERENCES public.people (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT fk_rails_e1624dbb3f FOREIGN KEY (location_id) REFERENCES public.locations (id) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION ) だから、どのperson_idエントリに対して、あるそこにプラス内restotrueマイナス6ヶ月(year_date)。

+0

1年間の期間は現在の(現在の日付)、または特定の日付からですか? – Zeina

答えて

0

アイテムの日付から。もし私が反復するなら、私はその行の日付を見て、その人は6ヶ月以内にエントリがあれば見つけます。ただし、項目が滞留していた場合、+ - 6ヶ月は回復しています。

関連する問題