sql 的多表统计打印问题!!!(15分)

  • 主题发起人 主题发起人 yyjqtww
  • 开始时间 开始时间
Y

yyjqtww

Unregistered / Unconfirmed
GUEST, unregistred user!
SELECT s.isbn, SUM(s.linqu_total), t.isbn, SUM(t.linqu_total), l.isbn, SUM(l.buy_total)
FROM ystudentlinshu AS s, yteacherlinshu AS t, ylinshoutab AS l
WHERE s.xueqi = '1999春'
GROUP BY s.isbn, t.isbn, l.isbn
ORDER BY s.isbn
我有了上面语句,为何不能统计出s,t,l三张表的相同ISBN的数量呢,只有一部分统计,可是有些相同
的并不统计,为什么呢??
 
最好是用JOIN将三张表连接起来统计,应该不会有问题了。
 
SELECT s.isbn, SUM(s.linqu_total), t.isbn, SUM(t.linqu_total), l.isbn, SUM(l.buy_total)
FROM ystudentlinshu AS s, yteacherlinshu AS t, ylinshoutab AS l
WHERE s.xueqi = '1999春' and (s.isbn=t.isbn) and(s.isbn=i.isbn)
GROUP BY s.isbn, t.isbn, l.isbn
ORDER BY s.isbn
 
可能是我的意思说的不太清楚!土土的最后结果是:
isbn total isbn total isbn total
1-1 45 1-1 10 1-1 10
2-2 34 2-2 10 2-2 10
而我想把三张表中的isbn的total值全部相加,得到如下结果
isbn total
1-1 65
2-2 54

 
我在土土的基础上作了修改,得到正确答案!!
SELECT s.isbn, SUM(s.linqu_total) + SUM(t.linqu_total) + SUM(l.buy_total)
FROM ystudentlinshu AS s, yteacherlinshu AS t, ylinshoutab AS l
WHERE s.xueqi = '1999春' AND (s.isbn = t.isbn) AND (s.isbn = l.isbn)
GROUP BY s.isbn
ORDER BY s.isbn
就能得出我最后解释的答案!!谢谢各位!!特别是土土先生!!
 
后退
顶部