读书人

临时表vs物理表,该怎么解决

发布时间: 2012-01-16 23:36:51 作者: rapoo

临时表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)

读书人网 >SQL Server

热点推荐