【发布时间】:2021-04-03 17:41:59
【问题描述】:
我有一个名为 endeavor 和 endeavor_plan 的两个表,具有以下架构。
endeavor
(
id integer NOT NULL DEFAULT nextval('endeavor_id_seq'::regclass),
code character varying(48) NOT NULL,
display_name character varying(64) NOT NULL,
active_plan_id integer,
status character(1) NOT NULL DEFAULT 'A'::bpchar,
methodology character(1) NOT NULL DEFAULT 'W'::character varying,
CONSTRAINT endeavor_pkey PRIMARY KEY (id),
CONSTRAINT fk6725eec2d3c3a85d FOREIGN KEY (active_plan_id)
REFERENCES public.endeavor_plan (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
endeavor_plan
(
id integer NOT NULL DEFAULT nextval('endeavor_plan_id_seq'::regclass),
creation_ts timestamp without time zone NOT NULL DEFAULT now(),
status character(1) NOT NULL DEFAULT 'A'::bpchar,
name character varying(128) NOT NULL,
endeavor_id integer NOT NULL,
CONSTRAINT endeavor_plan_pkey PRIMARY KEY (id),
CONSTRAINT endeavor_plan_endeavor_id_fkey FOREIGN KEY (endeavor_id)
REFERENCES public.endeavor (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
努力数据:
endeavor_plan 数据:
我想要这样的输出:
endeavor_id endeavor_plan_id
1 1
2 6
3 8
4 10
查询:
如果我有 active_plan_id 在努力中,则将其返回到他们的努力 ID 否则我想要最古老的 creation_ts 努力计划 ID 反对他们没有“D”状态的努力 ID。 有什么建议吗???
【问题讨论】:
标签: postgresql join