首页 文章

在365天内查找特定数据

提问于
浏览
0

我有一张表格,其中包含有关某些人在50年内工作和生活的地方的各种历史数据 . 为简化起见,每条记录都有一个日期,一个person_id,一个address_id和一个布尔值为true或false,另一个布尔值为true或false . 数据很零散,没有多少匹配 . 这个人本来可以住在他的工作地点,虽然这个问题可以忽略不计 .

我希望找到每个实例,当一个人有一年的工作地址和居住地址时 . 当然,这个人可能在50年期间改变了工作和住所 .

有关信息摘要,请参见:https://secure-shore-68966.herokuapp.com/connections .

Rails程序位于https://bitbucket.org/MtnBiker/crores5/

有没有办法用SQL / Active Record做到这一点?我可以看到迭代每个记录并找到该人的每个记录的正负六个月的任何事件 . 但我希望有一种SQL方式 . 我想在每对之间的 Map 上画一条线 .

表: 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 条目,如果 residtrue ,那么 resto true 在正负六个月内( year_date ) .

1 回答

  • 0

    从项目的日期开始 . 如果我要进行迭代,我会查看该行的日期,并确定该人是否在六个月内有任何条目 . 附加条件是,如果该项目是残余的,则六个月是恢复原状 .

相关问题