求sql 语句

bgttgb123 2010-10-19 02:03:50
有如下两个表
booklib 书库表 book 书表,一个书库中有好多种书

booklib
libid(书库编号) count(该书库的数量)
1 2
2 10


book

bookid(书的编号) libid(所在书库编号) stateid(状态编号 1=好 2=损坏)
1 2 1
2 1 2
3 2 2


现在要求各个书库 中的损坏和总数的一个比例,取出如下的结果
libid rate
1 1/2
2 2/10

分数可以除尽的话
保留原数
即 4/8 别写成1/2

...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
njw1028 2010-10-20
  • 打赏
  • 举报
回复

SELECT A.libid,RTRIM(CONVERT(CHAR,num))+'/'+RTRIM(CONVERT(CHAR,count)) FROM booklib A,
(
SELECT libid,COUNT(*) AS num FROM book WHERE stateid=2 GROUP BY libid
) AS tmp
WHERE A.libid=tmp.libid


SQL语句没测试过,报错是因为2张表里都有字段libid,在字段前加上表的别名就可以了
bgttgb123 2010-10-19
  • 打赏
  • 举报
回复
有一些数据取不出来
bgttgb123 2010-10-19
  • 打赏
  • 举报
回复
执行时提示

Ambiguous column name libid
njw1028 2010-10-19
  • 打赏
  • 举报
回复

SELECT libid,RTRIM(CONVERT(CHAR,num))+'/'+RTRIM(CONVERT(CHAR,count)) FROM booklib A,
(
SELECT libid,COUNT(*) AS num FROM book WHERE stateid=2 GROUP BY libid
) AS tmp
WHERE A.libid=tmp.libid

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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