从两个表中抽取数据,当一个表中没有结合表示后的数据时,显示为-,但现在写出来的语句只显示0,求教,如何才能正确显示-!
select nr.code,title,writedate,writer,
case when fst.ranking is null then '-' else fst.ranking end rank1,
case when fst.readcount is null then '-' else fst.readcount end count1
from News_Ranking nr
left join(select * from Board where chklist=1) nn
on nr.seq=nn.code
left join(select seq,ranking,readcount from News_Ranking
where week=45 and year=2006 and div=0) fst
on fst.seq=nr.seq
where nr.div=0 and year=2006 and week=46
order by nr.ranking desc

解决方案 »

  1.   

    try:
    select nr.code,title,writedate,writer,seq
    case when fst.ranking is null then '-' else fst.ranking end rank1,
    case when fst.readcount is null then '-' else fst.readcount end count1
    from News_Ranking nr
    left join(select * from Board where chklist=1) nn on nr.seq=nn.code
    left join
    (select seq,ranking,readcount from News_Ranking
    where week=45 and year=2006 and div=0) fst on fst.seq=nr.seqwhere News_Ranking.div=0 and News_Ranking.year=2006 and News_Ranking.week=46
    order by fst.ranking desc