求助SQL语句

xiaowangzi 2005-05-10 11:22:40
现在有两个表table1,table2。表table1中存放的是分类,表table2中存放的是某个分类的信息。我现在想再表table1中增加一个字段(Count)来统计该分类在表table2一共有多少条信息。统计该分类有多少条信息是通过统计表table2中该分类的信息条数。也就是从table2中统计出该分类的值插入到table1的Count字段中。如何实现?
...全文
130 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
paoluo 2005-05-10
  • 打赏
  • 举报
回复
--建立测试环境
Create table table1
(ClassID Varchar(10),
Count Int)

Create table table2
(ClassID Varchar(10),
Class Varchar(10))
--插入数据
Insert table1 Values('001',Null)
Insert table1 Values('002',Null)

Insert table2 Values('001','01')
Insert table2 Values('001','02')
Insert table2 Values('001','03')
Insert table2 Values('002','05')
Insert table2 Values('002','06')
--测试
Update A Set Count=(Select Count(*) from table2 Where ClassID=A.ClassID) from table1 A
Select * from table1
--删除测试环境
Drop table table1,table2
--结果
/*
ClassID Count
001 3
002 2
*/
xiaowangzi 2005-05-10
  • 打赏
  • 举报
回复
得出的结果好像不对!
zzroom 2005-05-10
  • 打赏
  • 举报
回复
CREATE TRIGGER trig1
on table2
FOR INSERT, UPDATE, DELETE
AS
Update table1
Set Count=Count(table2.ClassID)
from table1
join table2 on table1.ClassID=table2.ClassID
group by table2.ClassID
zzroom 2005-05-10
  • 打赏
  • 举报
回复
使用触发器。
paoluo 2005-05-10
  • 打赏
  • 举报
回复
Update A Set Count=(Select Count(*) from table2 Where ClassID=A.ClassID) from table1 A
paoluo 2005-05-10
  • 打赏
  • 举报
回复
Update A Set Count=(Select Count(*) from table2 Where 关联字段=A.关联字段) from table1 A
xiaowangzi 2005-05-10
  • 打赏
  • 举报
回复
ClassID
paoluo 2005-05-10
  • 打赏
  • 举报
回复
table1,table2的关联字段是什么??

34,576

社区成员

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

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