为什么'COPTCUDF04'=isnull((select CMSMR.MR003 from $$CMSMR AS CMSMR  where CMSMR.MR002=COPMA.MA077 and CMSMR.MR001='5'),''),  这段语句不会报错  
可是下面这个会提示“返回值多于一个”的错误
MOCTAUDF01=ISNULL((SELECT CMSMD.MD002 FROM $$CMSMD AS CMSMD,$$MOCTA as M WHERE  M.TA021=CMSMD.MD001 AND M.TA006 LIKE '2J%'),''),
要怎么解决这个错误呢

解决方案 »

  1.   

    SELECT TOP 1 cmsmd.md002
      

  2.   

    加“TOP 1"是什么意思 
      

  3.   

    第一个 isnull((select CMSMR.MR003 from $$CMSMR AS CMSMR  where CMSMR.MR002=COPMA.MA077 and CMSMR.MR001='5'),'')之返回一行数据。ISNULL((SELECT CMSMD.MD002 FROM $$CMSMD AS CMSMD,$$MOCTA as M WHERE  M.TA021=CMSMD.MD001 AND M.TA006 LIKE '2J%'),'')这个返回多行数据吧!
      

  4.   

    MOCTAUDF01=ISNULL((SELECT top 1 CMSMD.MD002 FROM $$CMSMD AS CMSMD,$$MOCTA as M WHERE  M.TA021=CMSMD.MD001 AND M.TA006 LIKE '2J%'),'')
      

  5.   

    能给我解释下"TOP 1"的用途吗