Subject Re: merging multiple SELECT statements into one if possible
Author ehaerim
>

> 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