Quoting Daryl Richter <[EMAIL PROTECTED]>:
It's hard to say without knowing more precisely what you are trying
to model, but I think this push you in the right direction:
-- This table takes the place of both SEND and BUY
create table activity(
id serial primary key,
product_id integer, --references....
value money
);
create table financial(
id serial primary key,
cred_deb smallint,
value money,
activity_id integer references activity
);
create table output(
id serial primary key,
client integer, --references clientes,
fiscal_number varchar(30),
print_date date,
activity_id integer references activity
);
create table input(
id serial primary key,
supplier integer, -- references suppliers,
employee varchar(30),
activity_id integer references activity
);
And then you do the following:
create view buy
as
select
a.id,
b.id as "input_id",
a.product_id,
a.value
from
activity a
join input b on b.activity_id = a.id;
Okay, but references between (output/input) and ACTIVITY tables is 1 to N.
OUTPUT/INPUT - 1
to
ACTIVITY - N.
And not N to 1 how the example.
Then the reference field need to be on "ACTIVITY (send/buy)" table.
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster