如何让多行引用单行的同一个字段?
How to have multiple rows reference the same field of a single row?
我是 PostgreSQL 的新手,正在 table 之间建立关系。
我有一个工作 table 和一个项目 table。作业 table 有一个 shipping_date。我希望项目 table 有一个反映工作 table:
的 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,因为它不是唯一的,但我们需要它来引用工作 table.
中的相关 shipping_date
每个作业可以有多个关联项。每个项目只能与一个作业相关联。
谢谢!
您不想在您的数据库中有冗余。您可以创建一个 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
我发现我只需要做一个连接子句:
SELECT shipping_date FROM items INNER JOIN jobs ON (job_items.job_id = jobs.job_id);
我是 PostgreSQL 的新手,正在 table 之间建立关系。 我有一个工作 table 和一个项目 table。作业 table 有一个 shipping_date。我希望项目 table 有一个反映工作 table:
的 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,因为它不是唯一的,但我们需要它来引用工作 table.
中的相关 shipping_date每个作业可以有多个关联项。每个项目只能与一个作业相关联。
谢谢!
您不想在您的数据库中有冗余。您可以创建一个 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
我发现我只需要做一个连接子句:
SELECT shipping_date FROM items INNER JOIN jobs ON (job_items.job_id = jobs.job_id);