try:
select * from a where a2<2002 and a3>2002 
union 
selec * from a where a2 in (select a2-1 from a where a2<2002 and a3>2002);

解决方案 »

  1.   

    SELECT * FROM T WHERE A2 < YEAR AND YEAR < A3
    UNION
    SELECT * FROM T WHERE A2 IN
    (SELECT A2 FROM T WHERE A2 < YEAR AND YEAR < A3)
      

  2.   

    不好意思,上面忘记减去1年了。SELECT * FROM T WHERE A2 < YEAR AND YEAR < A3
    UNION
    SELECT * FROM T WHERE A2 IN
    (SELECT A2 -1 FROM T WHERE A2 < YEAR AND YEAR < A3)
      

  3.   

    我也没有试过
    select distinct a.* from (
    select * from a where a2<YEAR and a3>YEAR
    union 
    selec * from a where a2 in (select a2-1  from a where a2<YEAR and a3>YEAR)) a