日期:2014-05-19  浏览次数:20536 次

临时表vs物理表
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   子句。

望大虾帮小第改改,谢谢

------解决方案--------------------
try

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
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)