select a=case isnull(a,'') when '' then b else a end
from tableA 
where isnull(a,'')<>'' or isnull(b,'')<>''

解决方案 »

  1.   

    加条件就可以了,最好使用case when 
    给点数据,和你想要的结果,好测试
      

  2.   

    强啊!顺便问一句:在SQL Server中这样的SQL语句没问题,再Access中支持case when吗?
      

  3.   

    好象是不叫直接用,没用过acess
      

  4.   

    SELECT a CASE isnull(a, '') 
          WHEN '' THEN b ELSE a END
    FROM tblA
    WHERE ((isnull(a, '') <> '') OR
          (isnull(b, ''))运行说是在关键字 CASE附近有语法错误
      

  5.   

    写错了你:
    是SELECT a=CASE.....
      

  6.   

    SELECT a = CASE WHEN isnull(a, '') LIKE '' THEN b ELSE a END
    FROM tblESITitle
    WHERE ((isnull(a, '') NOT LIKE '') OR
          (isnull(b, '') NOT LIKE ''))搞定,谢谢邹建兄和小儿兄!