我是PostgreSQL的新手并在表之间形成关系。 我有一个工作表和一个项目表。作业表有shipping_date。我希望items表有一个反映jobs表的shipping_date的列:
jobs table:
job_id | shipping_date
10001 | 29-06-2014
10002 | 29-06-2014
10003 | 30-06-2014
items table:
item_id | job_id | shipping_date
1234 | fkey(10001) | need this to be 29-06-2014
1235 | 10001 | need this to be 29-06-2014
发货日期不能成为fkey,因为它不是唯一的,但我们需要它来引用作业表中的相关shipping_date。
每个作业都可以有多个相关项目。每个项目只能与一个作业相关联。
谢谢!
答案 0 :(得分:0)
您不希望在数据库中拥有冗余。您可以创建一个view
来连接两个表并显示您需要的内容。 select
可以是:
SELECT a.item_id, a.job_id, b.shipping_date
FROM items a INNER JOIN jobs b ON a.job_id = b.job_id
答案 1 :(得分:0)
我发现我只需要做一个连接子句:
SELECT shipping_date FROM items INNER JOIN jobs ON (job_items.job_id = jobs.job_id);