所有的字查询都加上top 1,或者重新组织你的语句

解决方案 »

  1.   

    你有的子查询中可能返回多行。解决办法就是所有的子查询中都加上top 1eg:
    select top 1 GAYarnQuality.YQName from GAYarnQuality where GAYarnQuality.YQCode=a.cInvCode
      

  2.   

    要是用left join 怎么用的?请指教!
      

  3.   

    select a.cPOCode,GAYarnQuality.YQName,a.ColorCode,GAColorCode.ColorName,a.dRequestDeliDate,
    DyProcessList.BTime1,DyProcessList.ETime1,saDispatchlist.dDate,
    a.iQuantity,DyProcessList.InVatQty as InVatQty,DyProcessList.OutVatQty as OutVatQty,
    saDispatchlists.iQuantity as deliveryQty,DyProcessList.OutVatQty/a.iQuantity*100 as DyCompleteRate
    from  POOrders  a 
    left join  GAInventory on  GAInventory.cPOCode=a.cPOCode
    left join GAYarnQuality on  GAYarnQuality.YQCode=a.cInvCode
    left join GAColorCode on  GAColorCode.ColorCode=a.ColorCode
    left join  DyProcessList on  DyProcessList.cInvCode in (select GAInventory.cInvCode from GAInventory where a.cInvCode=GAInventory.YQCode) 
    left join saDispatchlists on  saDispatchlists.cInvCode in (select GAInventory.cInvCode from GAInventory where a.cInvCode=GAInventory.YQCode) 
    left join saDispatchlist on  saDispatchlist.cDLCode=saDispatchlists.cDLCode这样出现好多重复的啊!