帅哥哥,进来撒。

zhouixi 2012-03-15 11:35:09

update t set t.语文=t.语文+100 from (select quotename(name) as a,
sum( case course when '语文' then point else 0 end) as 语文,
sum(case course when '数学' then point else 0 end) as 数学,
sum(case course when '物理' then point else 0 end ) as 物理
from #a group by quotename(name)
having sum( case course when '语文' then point else 0 end) < sum(case course when '数学' then point else 0 end)) t



貌似我长的太丑了,我更新不了它,求帅哥来更新。

派生表 't' 不可更新,因为派生表中的某一列是派生的或是常量。

别整什么插入到临时表,更新后, 再插入回来 。太麻烦了。
...全文
90 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouixi 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 wujianfeng32 的回复:]
一楼比一楼有才
[/Quote]

哈哈,你也不差阿。
wujianfeng32 2012-03-16
  • 打赏
  • 举报
回复
一楼比一楼有才
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhouixi 的回复:]

引用 7 楼 travylee 的回复:
引用 6 楼 zhouixi 的回复:

引用 5 楼 travylee 的回复:
引用 4 楼 zhouixi 的回复:

引用 3 楼 travylee 的回复:
SQL code


update t set t.语文=m.语文+100 from (select quotename(name) as a,
sum( case ……
[/Quote]



你上面语句怎么写的??update t。。。。。不解释

;with m
as
(
你的派生表的查询语句
)

update 派生表数据的来源表 set col=t.col。。。

要想更新派生表(像你那样的表表达式),小弟我也求指导


这回给你正经了
dawugui 2012-03-16
  • 打赏
  • 举报
回复

建议你提供详细的资料:
例如表的结构,表之间的关系,测试数据,相关算法及需要的结果。
这样有助于我们理解你的意思,更主要的是能尽快让你获得答案或解决问题的方法。
zhouixi 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 vastm 的回复:]
又一个求安慰的~高帅富飘过
[/Quote]

哈哈,安慰不用求的。
zhouixi 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 travylee 的回复:]
引用 6 楼 zhouixi 的回复:

引用 5 楼 travylee 的回复:
引用 4 楼 zhouixi 的回复:

引用 3 楼 travylee 的回复:
SQL code


update t set t.语文=m.语文+100 from (select quotename(name) as a,
sum( case course when '语文' then p……
[/Quote]

我晕了,你才找乐呢? 我别名t 你却,别名m ,也就是说,要更新m表,你却更新t表/.
正经点咋更新。
APHY 2012-03-16
  • 打赏
  • 举报
回复
又一个求安慰的~高帅富飘过
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhouixi 的回复:]

引用 5 楼 travylee 的回复:
引用 4 楼 zhouixi 的回复:

引用 3 楼 travylee 的回复:
SQL code


update t set t.语文=m.语文+100 from (select quotename(name) as a,
sum( case course when '语文' then point else 0 end) as 语文……
[/Quote]

表都没有还更新个屁,你不纯属找乐吗?
zhouixi 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 travylee 的回复:]
引用 4 楼 zhouixi 的回复:

引用 3 楼 travylee 的回复:
SQL code


update t set t.语文=m.语文+100 from (select quotename(name) as a,
sum( case course when '语文' then point else 0 end) as 语文,
sum(case course when……
[/Quote]

问题是,我数据库里没有t表,他如何更新阿。不符合,运行的原理阿。
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhouixi 的回复:]

引用 3 楼 travylee 的回复:
SQL code


update t set t.语文=m.语文+100 from (select quotename(name) as a,
sum( case course when '语文' then point else 0 end) as 语文,
sum(case course when '数学' then point else……
[/Quote]


update t set t.语文--这个是什么?你前后两个表(t表和派生表的名字不能取一样,你之前一样的)
zhouixi 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 travylee 的回复:]
SQL code


update t set t.语文=m.语文+100 from (select quotename(name) as a,
sum( case course when '语文' then point else 0 end) as 语文,
sum(case course when '数学' then point else 0 end) as 数学,
sum(ca……
[/Quote]

哈哈,这次没复制。对了,你这个t表 都没有,咋更新撒,
  • 打赏
  • 举报
回复


update t set t.语文=m.语文+100 from (select quotename(name) as a,
sum( case course when '语文' then point else 0 end) as 语文,
sum(case course when '数学' then point else 0 end) as 数学,
sum(case course when '物理' then point else 0 end ) as 物理
from #a group by quotename(name)
having sum( case course when '语文' then point else 0 end) < sum(case course when '数学' then point else 0 end)) m

zhouixi 2012-03-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
SQL code

建议你提供详细的资料:
例如表的结构,表之间的关系,测试数据,相关算法及需要的结果。
这样有助于我们理解你的意思,更主要的是能尽快让你获得答案或解决问题的方法。
[/Quote]

 

表结构:

name course point
张三 语文 73
张三 数学 84
张三 物理 93
张四 语文 73
张四 数学 84
张四 物理 94


需求就是:求出语文成绩大于数学成绩的人
但由于 语文成绩都小于数学成绩所以我想更新下,当然也可以直接更新源表,再进行运算。
我想知道为啥更新会提示 啥派生表啥子错误。
当然,反过来求数学成绩大于语文成绩的人。是可以求出来

呵呵,我想搞清楚这是啥子情况。多学点东西哈。
zhouixi 2012-03-16
  • 打赏
  • 举报
回复

select quotename(name) as a,
sum( case course when '语文' then point else 0 end)+100 as 语文,
sum(case course when '数学' then point else 0 end) as 数学,
sum(case course when '物理' then point else 0 end ) as 物理
from #a group by quotename(name)
having sum( case course when '语文' then point else 0 end) < sum(case course when '数学' then point else 0 end)


呵呵 ,小三

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧