我在回答值为0时遇到问题,当答案为空时,我的当前代码如下所示。显示0为空值的故障
select distinct bt2.isbn, bt2.btname, Count ('bcid')
from
booktitle bt1, booktitle bt2,
bookcopy bc1, bookcopy bc2,
loan l1, loan l2
where
bt1.isbn = bc1.isbn
and bc1.bcid = l1.bcid
and l1.bcid = l2.bcid
and l2.bcid = bc2.bcid
and bc2.isbn = bt2.isbn
group by bt2.isbn, bt2.btname
order by Count ('bcid') desc;
我怎样才能得到结果的答案,显示值为0,因为他们当前没有返回行由于空值。我曾尝试使用以前回答的问题来帮助我,但似乎无法理解这个概念。任何和所有帮助将非常感激
使用至今好心所提供的所有帮助我想出了这个代码
select bt1.isbn, bt1.btname, Count (bc.bcid)
from booktitle bt1
inner join bookcopy bc
on bc.isbn = bt1.isbn
inner join loan l
on l.bcid = bc.bcid
left outer join Bookcopy bc2
on bc2.isbn = bt1.isbn
group by bt1.isbn, bt1.btname
order by Count (2bc.bcid) desc;
但是似乎仍然只返回有级数大排然后0,是否有办法让它返回count = 0的行以及count更大的行?
请解释这个查询应该做什么。你可能需要一个'外部'加入。不确定你所有的6张桌子是否有必要。 – 2011-05-11 18:36:01
@Philip - 这是关于查找重复行的查询吗? – rskar 2011-05-11 18:45:27
@rskar - 菲利普不是OP。他们只是编辑了这个问题。 – 2011-05-11 18:49:00