求sql语句,子查询,多个值

UPDATEINVMBSETMB100='Y',MB046IN(SELECTAVG(TD010)FROMPURTDGROUPBYTD004)FROMINVMBJOINPU... UPDATE INVMB
SET MB100 = 'Y', MB046 IN
(SELECT AVG(TD010)
FROM PURTD
GROUP BY TD004)
FROM INVMB JOIN
PURTD ON INVMB.MB001 = PURTD.TD004
WHERE MB001 > '83-31'

这段应该怎么写,谢谢!
展开
 我来答
水叹花
2008-05-21 · TA获得超过375个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:279万
展开全部
--参照下例
create table X(
a int,
b money,
)
create table Y(
c int,
d money,
)

insert X values(1,null)
insert X values(2,null)

insert Y values(1,1)
insert Y values(1,2)
insert Y values(1,7)
insert Y values(2,3)
insert Y values(2,1)
insert Y values(2,5)
insert Y values(2,2)
--创建视图
create view v1 as select * from X inner join (select c,avg(d) d from Y group by c) as Y
on X.a=Y.c
--更新
update v1 set b=d
select * from v1
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fc82f346e
2008-05-21 · TA获得超过904个赞
知道小有建树答主
回答量:309
采纳率:0%
帮助的人:187万
展开全部
SELECT AVG(TD010)
FROM PURTD
GROUP BY TD004
查询的结果多于一个值
INVMB.MB001 = PURTD.TD004
WHERE MB001 > '83-31'
上面用了=号,查出来肯定是一个值,不能对查询出的多值进行赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a6539fb
2008-05-21
知道答主
回答量:40
采纳率:100%
帮助的人:25.9万
展开全部
???
看不明白你要做什么?
是不是

UPDATE INVMB
SET MB100 = 'Y' from FROM INVMB where MB046 IN
(SELECT AVG(TD010)
FROM PURTD
GROUP BY TD004)
and MB001 i > '83-31'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qimin1029
2008-05-21 · 超过38用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:115万
展开全部
你要达到的目的呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式