很多关系,PK不是唯一的

时间:2014-05-20 02:05:58

标签: sql postgresql view

我有一个由交叉表处理的许多关系。

foo( foo_id ,foo_name)

栏( bar_id ,bar_name)

foo_bar_intersect( foo_id bar_id

我正在foo_bar_intersect上创建一个显示每个名字的视图。

CREATE VIEW foo_bar_view AS SELECT foo.foo_name, bar.bar_name FROM foo_bar_intersect INNER JOIN foo ON foo.foo_id = foo_bar_intersect.foo_id INNER JOIN bar ON bar.bar_id = foo_bar_intersect.bar_id

但是我在结果中得到两个相同的条目,因为(foo_id,bar_id)是foo_bar_intersect的PK。

1 个答案:

答案 0 :(得分:0)

您确定您的数据没有重复foo_name和bar_name。 ID可能是唯一的,但名称不一定是。

Select foo_name, count(foo_id) from foo group by foo_name having count(foo_ID) > 1 

和bar类似...任何结果都可以解释问题