create table date_dimension (
id serial primary key,
date_id date,
..... others
);
create table temp (
id serial primary key,
from_date integer,
to_date integer,
value integer,
foreign key (from_date, to_date) references date_dimension(id, id)
);
如何将
from_date
和 to_date
引用到 id
中的 date_dimension
字段?ERROR: there is no unique constraint matching given keys for referenced table "date_dimension"
谢谢你
FOREIGN KEY
约束将始终将引用表中的one 行与引用对象中的 one 行* 相关联。如果您希望引用中的每一行引用引用中的两个不同行,则需要两个单独的外键约束。 你想要:
foreign key (from_date) references date_dimension(id)
foreign key (to_date) references date_dimension(id)
您几乎总是希望外键中的行与所指对象中的主键完全相同。
* 实际上,如果外键小于所指对象的候选键,则所指对象中可能有多于一行。但这很少有用,而且几乎可以肯定与您描述的问题无关
如何使用两个键 from_date 和 to_date 从同一字段“date”中选择两个日期(通过加入 date_dimensions 表)???
查询:
选择日期_维度.日期、日期_维度.日期 从... 左加入...
将不起作用,因为应选择 date_dimensions 中的两个相同字段,即使它们由不同的键(from_date)和(to_date)引用!
那么,如何从同一个表、同一个字段中选择两个不同的日期呢?