【发布时间】:2014-03-17 06:01:52
【问题描述】:
我有这种情况:
Table1 has a list of companies.
Table2 has a list of addresses.
Table3 is a N relationship of Table1 and Table2, with fields 'begin' and 'end'.
由于公司可能会随着时间的推移而移动,因此它们之间的 LEFT JOIN 会导致每个公司有多个记录。
begin 和 end 字段永远不会为 NULL。找到最新地址的解决方案是使用ORDER BY being DESC,删除旧地址是LIMIT 1。
如果查询只能带来 1 家公司,那就可以了。但我需要一个将所有 Table1 记录与它们当前的 Table2 地址连接起来的查询。因此,必须在 LEFT JOIN 的 ON 子句中删除过时数据(AFAIK)。
知道如何建立条款以不创建重复的 Table1 公司并带来最新地址吗?
【问题讨论】:
标签: postgresql sql-order-by left-join foreign-key-relationship duplicate-removal