SQL三个表关联查询

5 篇文章 0 订阅
User用户表 U、Column分类表 C 和Article文章表 A,所含字段:
U:UserId,UserName,Password
C:ColumnId,ColumnName,ColumnText
A:ArticleId,Title,ArticleText,UpdateTime,ColumnId,UserId
关联查询出多条记录:如
ColumnName CountArticle(文章数) Title UserName UpdateTime  
  生活 125 番茄炒蛋 某某 2010-5-17 16:57:32
  动漫 5213 海贼王 路飞 2010-5-17 17:03:34
CountArticle是统计新增的列!如何写查询语句得到这样多条记录?
主要的难点在统计和最后发表的文章两个地方,我自己写的语句如下:
select ColumnName, count(a.ColumnId)  as CountArticle,Title,UserName,UpdateTime
from Article a  left join [User] u  on a.UserId=u.UserId  right join [Column] c  ona.ColumnId=c.ColumnId  
group by ColumnName,Title,UserName,UpdateTime
查出的数据如下:
ColumnName CountArticle(文章数) Title UserName UpdateTime  
  生活 1 番茄炒蛋 某某 2010-5-17 16:57:32
  生活 1 鱼香肉丝 某某 2010-5-17 08:57:32
  动漫 1 火影 鸣人 2010-5-17 14:03:34
  动漫 1 海贼王 路飞 2010-5-17 17:03:34
怎么改下才能得到上面想要的数据?
------回答---------
------其他回答(40分)---------
--试试~~~~
SQL code
   
   
select ColumnName,(SELECT COUNT(1) FROM Article WHERE ColumnId=a.columnid) as CountArticle,Title,UserName,UpdateTime from Article a left join [User] u on a.UserId=u.UserId right join [Column] c on a.ColumnId=c.ColumnId WHERE NOT exist (SELECT 1 FROM article WHERE columnid=a.columnid AND updatetime >a.updatetime)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值