Hi, 

 

Given a table like
define_table('person',Field('EmployeeID'),Field('name'),Field('effdt',ty
pe='date'))

And having a persons name changed on a specific date: 

 

|1| 1234 | G. Single | 2008-01-01 |

|2| 1234 | G. Single-Married | 2012-08-01 |

|3| 1234 | G. Single | 2015-05-01 | 

|4| 5678 | S. Else | 2006-01-01 | 

 

 

I want the current names. We use effective dated queries for this: 

 

Select p.EmployeeID, p.name from person p

Where p.effdt = (select max(p_ed.effdt) 

   from person p_ed  

 where p.employeeid = p_ed.employeeid

   and p_ed.effdt <= sysdate)

 

Which will return me two rows (2 and 4 in this example), one per person
with their current name with only one roundtrip to the database. 

 

I just can't figure out how to rewrite this query to DAL and I would
really like to. 

Any help is appreciated, thank you.  

 

 

Remco Boerma - Database Administrator & Technisch Applicatie Beheer

ROC Drenthecollege - www.drenthecollege.nl - 088 188 4693 

[email protected] - http://twitter.com/RemcoBoerma

 

------------------------------->

Vrijwaring/Disclaimer
De gegevens in dit elektronisch document en de eventuele bijlagen zijn 
uitsluitend bedoeld voor de geadresseerde(n). 
De informatie wordt zorgvuldig samengesteld. 
Het Drenthe College kan echter niet garanderen dat de informatie absoluut 
juist, volledig en tijdig overkomt via het Internet. 
Voor belangrijke beslissingen aangaande de verstrekte informatie dient u een en 
ander rechtstreeks bij het Drenthe College te controleren.

Website van het Drenthe College:
www.drenthecollege.nl

-- 



Reply via email to