> -----Ursprüngliche Nachricht-----
> Von: pgsql-sql-owner@postgresql.org [mailto:pgsql-sql-
> owner@postgresql.org] Im Auftrag von Tim Landscheidt
> Gesendet: Mittwoch, 24. September 2014 20:03
> An: pgsql-sql@postgresql.org
> Betreff: Re: [SQL] FOREIGN KEY Reference on multiple columns
>
> "Weiss, Jörg" <J.Weiss@dvz-mv.de> wrote:
>
> > I mean b must equal to c1 in the "other_table" where c2 has a certain value
> (for example c2 ).
>
> > For my first example:
> > CREATE TABLE parm
> > (
> > complex varchar(20) NOT NULL,
> > para varchar(50) NOT NULL,
> > sort int4 NOT NULL DEFAULT 10,
> > value varchar(50) NULL,
> > CONSTRAINT parm_pkey PRIMARY KEY (complex, para, sort)
> > )
>
> > Table user
> > CREATE TABLE user
> > (
> > name varchar(20) NOT NULL,
> > type integer NULL
> > )
> > In this case "type" of table user must equal to "value" of table "parm" and
> "para" must be "login_user" (for example)
>
> > [...]
>
> You can achieve that by duplicating the para column to the
> table user, adding a foreign key that matches both columns
> to table parm and checks in table user whether para is
> "login_user". That doesn't work for NULLable columns,
> though.
>
> Tim
>
Yes of cause, this seems to be the best way.
Thank You!