>
 
> SELECT A2.ID FROM A2 JOIN I2 ON A2.ID = I2.ID WHERE A2.ALI = 'a0002';  /* 
> returns 2 from A2*/
> 
> SELECT D2.ID, D2.YMD, D2.TB, D2.MB, D2.DB FROM D2 WHERE D2.ID = A2.ID AND 
> D2.YMD = '2011-12-21'; /* return 2 from D2 */
> 
> SELECT D2.ID, D2.YMD, D2.TB, D2.MB, D2.DB FROM D2 JOIN I2 ON D2.ID = I2.ID 
> WHERE I2.ID = 2 AND D2.YMD = '2011-12-21';
> 
> HR
>

I rewrote to make my question clearer in mixed format :

For a pair (S, Y) where S is a string and Y is a date.

SELECT A2.ID FROM A2 WHERE A2.ALI = <S>;
if A2.ID exists then
        SELECT D2.ID, D2.YMD, D2.TB, D2.MB, D2.DB FROM D2 WHERE D2.ID = A2.ID 
AND D2.YMD = <Y>;
else
        SELECT I2.ID FROM I2 WHERE I2.INST = <S>;
        if I2.ID exists then
                SELECT D2.ID, D2.YMD, D2.TB, D2.MB, D2.DB FROM D2 WHERE D2.ID = 
I2.ID AND D2.YMD = <Y>;
        end
end


Reply via email to