我的数据表如下
username book count
张三 book1 1
张三 book2 1
张三 book3 1
李四 book1 1
李四 book2 1
王五 book1 1
我现在对这个表进行查询后要在DBGrid中显示如下的结果:
userName book count
张三 book1 3
张三 book2
张三 book3
李四 book1 2
李四 book2
王五 book1
还请各位帮忙
username book count
张三 book1 1
张三 book2 1
张三 book3 1
李四 book1 1
李四 book2 1
王五 book1 1
我现在对这个表进行查询后要在DBGrid中显示如下的结果:
userName book count
张三 book1 3
张三 book2
张三 book3
李四 book1 2
李四 book2
王五 book1
还请各位帮忙
userName book count
张三 book1 1
张三 book2 1
张三 book3 1
张三 === 3
李四 book1 1
李四 book2 1
李四 === 2
王五 book1 1
这样的显示比较容易让人理解。如果要实现的话,也可以直接使用1句sql语句完成,如果使用第3方组件的话,显示的效果更好(不需要改sql语句,直接从表里出来)。如果还有问题再提出吧
union
select userName,'' sum(count) from table
group by userName
order by userName
这样写更好一些,你想显示成哪样也能搞定,但是会让人一头雾水
left join
(select userName,min(book) as book,sum([count]) as count1
from 表名 group by userName ) b
on a.userName=b.UserName and a.book=b.book
order by a.userName,a.book
select username,book,sum(count) group by username,book