Update DEMO..T_SubStock Set 
Location=(Select Top 1 Location From #T_BStock Where Lno=DEMO..T_SubStock.Lno And Location Is Not NULL)
,RetailPrice=(Select Top 1 MAX(RetailPrice) From #T_BStock Where Lno=DEMO..T_SubStock.Lno)注:#T_BStock 和DEMO..T_SubStock 表中具有大部分相同字段,关系到上述查询的字段两表都有,但运行是出错:
服务器: 消息 8118,级别 16,状态 1,行 1
列 'DEMO..T_SubStock.Location' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
服务器: 消息 8118,级别 16,状态 1,行 1
列 'DEMO..T_SubStock.Lno' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
服务器: 消息 8118,级别 16,状态 1,行 1
列 'DEMO..T_SubStock.Location' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。
服务器: 消息 8118,级别 16,状态 1,行 1
列 'DEMO..T_SubStock.Lno' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。望大虾帮小第改改,谢谢

解决方案 »

  1.   

    tryUpdate DEMO..T_SubStock Set 
    Location=(Select Top 1 Location From #T_BStock Where Lno=DEMO..T_SubStock.Lno And Location Is Not NULL)
    ,RetailPrice=(Select Top 1 RetailPrice From #T_BStock Where Lno=DEMO..T_SubStock.Lno Order By RetailPrice)
      

  2.   

    或者Update DEMO..T_SubStock Set 
    Location=(Select Top 1 Location From #T_BStock Where Lno=DEMO..T_SubStock.Lno And Location Is Not NULL)
    ,RetailPrice=(Select MAX(RetailPrice) From #T_BStock Where Lno=DEMO..T_SubStock.Lno)
      

  3.   

    ---鱼老大是不是应该这样啊你的没有加上Desc
    Update DEMO..T_SubStock Set 
    Location=(Select Top 1 Location From #T_BStock Where Lno=DEMO..T_SubStock.Lno And Location Is Not NULL)
    ,RetailPrice=(Select Top 1 RetailPrice From #T_BStock Where Lno=DEMO..T_SubStock.Lno Order By RetailPrice Desc)
      

  4.   

    哦,對,忘加Desc了。Update DEMO..T_SubStock Set 
    Location=(Select Top 1 Location From #T_BStock Where Lno=DEMO..T_SubStock.Lno And Location Is Not NULL)
    ,RetailPrice=(Select Top 1 RetailPrice From #T_BStock Where Lno=DEMO..T_SubStock.Lno Order By RetailPrice Desc)
      

  5.   

    aftnTea(faith) ( ) 信誉:100  2007-07-21 15:03:24  得分: 0  
     
     
       鱼老大果然厉害!
    但为什么要在后面加个排序呢?而我上半句不是也一样吗?
      
     
    -----------你又有TOP 1,又有MAX。要麼只用TOP 1,要麼只用MAX。兩者都可以,但不要一起用。