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
怎么改下才能得到上面想要的数据?
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)
-