Das Ziel besteht darin, Werte für id_num und county aus der Tabelle address_master zurückzugeben (address_master hat einen Datensatz pro ID), wenn BEID id_num AND county value nicht zurückgegeben wird Abfrage auf address_history:Gibt Datensätze aus der zweiten Tabelle zurück, wenn die Abfrage in der ersten Tabelle keine Datensätze zurückgibt
SELECT DISTINCT a.id_num, a.county FROM address_history a INNER JOIN (SELECT id_num, MIN(archive_job_tim) AS MaxEnrollDate FROM address_history GROUP BY id_num) b ON (a.id_num = b.id_num AND a.archive_job_tim = b.MaxEnrollDate) WHERE addr_cde = '*LHP'
Beispieldaten:
Tabelle address_history (enthält historische Veränderungen, mehrere Datensätze pro ID möglich sind)
id_num | county | archive_job_tim -------|--------|---------------- 123 |012 |10/17/2001 10:48:38 123 |NULL |10/17/2001 09:50:02 123 |042 |11/17/2003 08:22:01 134 |NULL |12/10/2005 02:14:23 145 |534 |9/27/1996 00:00:00
Tabelle address_master (enthält nur die letzte Datensatz für jeden id)
id_num | county | archive_job_tim -------|--------|----------------- 123 |563 |12/22/2015 10:29:01 134 |734 |2/23/2005 07:21:15 145 |943 |10/22/1996 06:24:13 168 |012 |6/5/2017 08:01:22 197 |NULL |7/1/2017 10:16:02
Abfrageergebnis sein sollte:
id_num | county -------|-------- 123 |012 (because it is the earliest record with a county for this id in address_history) 134 |734 (because the only record(s) in address_history has no county, returns record from address_master) 145 |534 (because it is the earliest record with a county for this id in address_history) 168 |012 (because no record exists in address_history for this id) 197 |NULL (because no record exists in address_history for this id)
Jede Hilfe sehr geschätzt wird. Vielen Dank.
Danke Herr Kandasamy, aber ich erhalte eine Fehlermeldung, wie ich versuche, und verwenden Sie diese in der Befehlstext in einer Excel-Verbindung (wo ich normalerweise SQL für das Erzeugen verbundener Tabellen einfüge). Es heißt: [Microsoft] [SQL Server Native Client 10.0] [SQL Server] Falsche Syntax in der Nähe des Schlüsselwortes "von". – user3795203
Aktualisierte Abfrage als eine Klammer fehlt in über() –
Vielen Dank. Die Abfrage erzeugt jetzt Ergebnisse, sie gibt jedoch nur Zeilen von address_master zurück, und es sollten Datensätze für viele ID-Nummern in address_history vorhanden sein, die sich ergeben sollten. – user3795203