Monthly Archives: February 2015

Selectarea celor mai recente/vechi inregistrari in SQL JOIN

Se considera tabela clienti, cu urmatoarea structura:

Si tabela adrese_clienti, cu urmatoarea structura:

Pentru fiecare client se pastreaza istoricul modificarilor adreselor, in aceeasi tabela, fiecare inregistrare pastrand perioada de valabilitate in campurile date_from si date_to. Inregistrarea actuala pentru fiecare client este marcata de valoarea 9999-01-01 00:00:00 in campul date_to.

Doua probleme

1. Se doreste selectarea celei mai vechi adrese pentru fiecare client:

Rezultat:

2. Se doreste selectarea adresei actuale pentru fiecare client:

sau mai simplu (datorita campului date_to):

Rezultat: