有两张表:[图书]、[借阅]
其中图书表中有字段 [图书条形码]、[图书名称]
而借阅表中有借阅记录,其中引用了图书条形码(作为外键)要求:根据这两张表用SQL语句生成一个Dataset(Top10 图书的记录)在DBGrid中显示,
其中要有[名次]、[图书条形码]、[图书名称]、[被借阅次数]这几个字段,
应该怎么写SQL字句?
其中图书表中有字段 [图书条形码]、[图书名称]
而借阅表中有借阅记录,其中引用了图书条形码(作为外键)要求:根据这两张表用SQL语句生成一个Dataset(Top10 图书的记录)在DBGrid中显示,
其中要有[名次]、[图书条形码]、[图书名称]、[被借阅次数]这几个字段,
应该怎么写SQL字句?
解决方案 »
- 数据统计与统计结果显示
- 我下载的CodeGearRADStudio2007_Dec2007不能安装
- 弱智问题:怎样在fastreport中设置自定义纸张?
- fastreport问题
- 菜鸟的问题 请大虾们多多指教哈
- midas问题,如何在client端修改server端remotedatamodule里的query的sql?
- 十万火急,紧急求助!!!
- 怎样才能获得Access2000的密码
- 在delphi中怎样更改表的字段名
- 请问怎样在运行期间设置TADOConnection的ConnectionString属性,急!
- 可否让一条语句执行完全结束之后在执行下一条语句
- 一个想法,关于灵活的配置文件
我有两张表,分别叫做[图书]、[借阅记录],其中[图书]表中有两个字段:[条形码]和[图书名称],而另一张表[借阅记录]中有三个字段:[图书条形码]、[读者编号]、[借阅登记时间],现在的问题是我要查找借阅次数最多的十本图书,在DBGrid中显示出来,要有[名次]、[图书条形码]、[图书名称]、[被借阅次数]这几项,当然,[名次]、[借阅次数]是不能从表中取得的,而要用语句生成。那么,我要查找的话用SQL语句应该怎么写?(PS:我的DBGrid是与adoquery联合的,面adoquery是在代码中动态生成的,其中用到.SQL.Add()。)
FROM (SELECT TOP 10 a.[图书条形码],a.[图书名称],count(b.图书条形码) AS [被借阅次数]
FROM 图书 AS a inner JOIN 借阅 AS b ON a.图书条
形码=b.图书条形码
GROUP BY [图书条形码],[图书名称])
ORDER BY [被借阅次数] DESC;
FROM (SELECT TOP 10 a.[图书条形码],a.[图书名称],count(b.[图书条形码]) AS [被借阅次数]
FROM [图书] AS a inner JOIN [借阅] AS b ON a.[图书条形码]=b.[图书条形码]
GROUP BY a.[图书条形码],a.[图书名称]) AS TTT
ORDER BY [被借阅次数] DESC;
FROM 图书 AS a inner JOIN 借阅 AS b ON a.图书条形码=b.图书条形码
GROUP BY [图书条形码],[图书名称]
ORDER BY [被借阅次数] DESC;