Ich habe die Situation:Postgres: links, indem sie mit, um beizutreten und begrenzen 1
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'.
Da Unternehmen im Laufe der Zeit bewegen kann, ein LEFT JOIN unter ihnen Ergebnisse in mehreren Datensätzen für jedes Unternehmen.
begin
und end
Felder sind nie NULL. Die Lösung, um die neueste Adresse zu finden, ist eine ORDER BY being DESC
, und ältere Adressen zu entfernen ist ein LIMIT 1
.
Das funktioniert gut, wenn die Abfrage nur 1 Firma bringen kann. Aber ich brauche eine Abfrage, die alle Table1-Datensätze mit ihren aktuellen Table2-Adressen verknüpft. Daher muss die Entfernung veralteter Daten (AFAIK) in der ON-Klausel von LEFT JOIN erfolgen.
Irgendeine Idee, wie ich die Klausel bauen kann, um doppelte Table1 Firmen nicht zu schaffen und letzte Adresse zu holen?
Schön auf sqlfiddle - Ich habe bis jetzt nur jfiddle gesehen, aber sqlfiddle scheint super hilfreich! – dwanderson