Wouldn’t you create a view instead, and not bother calculating age_at_issue 
until necessary since it’s derived completely from two other columns?

On 11/15/17, 3:16 PM, "sqlite-users on behalf of Bart Smissaert" 
<sqlite-users-boun...@mailinglists.sqlite.org on behalf of 
bart.smissa...@gmail.com> wrote:

    Have 2 tables, TABLE_A and TABLE_P like this:
    
    CREATE TABLE_A(ID INTEGER, ISSUE_DATE INTEGER, AGE_AT ISSUE INTEGER)
    
    CREATE TABLE_P(ID INTEGER, DOB INTEGER)
    
    ID is he common field.
    
    Now I want to update the field AGE_AT_ISSUE of TABLE_A, so it will hold the
    age of the person identified by ID, at the date of ISSUE_DATE.
    I do this with a UDF, taking 2 arguments, in this case DOB (date of birth)
    and ISSUE_DATE.
    The UDF is not relevant in this example and it could as well be ISSUE_DATE
    - DOB.
    
    I tried this:
    
    UPDATE TABLE_A SET AGE_AT_ISSUE =
    (SELECT GetAgeAtDate(P.DOB, A.ISSUE_DATE) FROM TABLE_A A
    INNER JOIN TABLE_P P ON(A.ID = P.ID)
    
    But that will make the column AGE_AT_ISSUE have the same value for all
    rows, which is he first row of the select.
    
    The select by itself will give the right values.
    
    Any suggestions how this can be done with just one statement?
    
    
    RBS
    _______________________________________________
    sqlite-users mailing list
    sqlite-users@mailinglists.sqlite.org
    http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
    

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to