mysql数据库,sql语句,把一个表中的统计数量,更新到两一个表中
比如有两个表,一个是A表,一个是B表。A表字段:cid(cid有重复)B表字段:cid,cnum(cid无重复)统计SQL:SELECTcid,COUNT(*)FROMc...
比如有两个表,一个是A表,一个是B表。
A表字段:cid (cid有重复)
B表字段:cid,cnum (cid无重复)
统计SQL:SELECT cid,COUNT(*) FROM comment GROUP BY cid
结果是:
1 6
2 3
3 3
4 9
5 4
问题是:结合A表和B表统计A表中cid的数量,把右边的结果更新到B表cnum中。
已解决。update语句后面不可以跟 from 的 展开
A表字段:cid (cid有重复)
B表字段:cid,cnum (cid无重复)
统计SQL:SELECT cid,COUNT(*) FROM comment GROUP BY cid
结果是:
1 6
2 3
3 3
4 9
5 4
问题是:结合A表和B表统计A表中cid的数量,把右边的结果更新到B表cnum中。
已解决。update语句后面不可以跟 from 的 展开
3个回答
展开全部
update b set b.cnum = (select c.counts from
(SELECT cid,COUNT(*) counts FROM comment GROUP BY cid) c
where a.cid=c.cid);
哎,禁不住说一声,苦逼程序员啊,都这么晚不睡
你试试吧,按照你描述的,我这么写应该就通过了,有问题直接hi
(SELECT cid,COUNT(*) counts FROM comment GROUP BY cid) c
where a.cid=c.cid);
哎,禁不住说一声,苦逼程序员啊,都这么晚不睡
你试试吧,按照你描述的,我这么写应该就通过了,有问题直接hi
更多追问追答
追问
你也很晚还在,那个c是什么?
追答
c是SELECT cid,COUNT(*) counts FROM comment GROUP BY cid这一串的结果集,起了个别名叫c,其实你可以理解为一个临时表,将来要调用这里边的数
是不这么说不太好理解啊?
这样
select b.counts from
(select id,count(*) counts from 表a) b
where b.counts=2
这么看一目了然了吧,那个c跟这个一个性质
展开全部
Update B
set B.cnum = A.Total
From B
INNER JOIN (SELECT cid,COUNT(*) AS Total FROM A GROUP BY cid) A
ON B.cid =A.cid
set B.cnum = A.Total
From B
INNER JOIN (SELECT cid,COUNT(*) AS Total FROM A GROUP BY cid) A
ON B.cid =A.cid
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update b
set b.cnum = a.cnum
From (select cid,count(*) AS cnum from a group by cid) a
where b.cid =a.cid
不知道就说不知道的。还不能跟from。无知真可怕,lz回家吃奶吧
set b.cnum = a.cnum
From (select cid,count(*) AS cnum from a group by cid) a
where b.cid =a.cid
不知道就说不知道的。还不能跟from。无知真可怕,lz回家吃奶吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询