两个表,一个文章表,一个回复表,文章表中没有回复条数的字段
现在查询没有回复的文章的所有内容,怎么写呢

解决方案 »

  1.   

    你的回复表里应该有个文章表的外键吧?  不知道你的这个外键名字是什么,就先叫它 文章_id
    select wenzhang.* from wenzhangbiao 
    where wenzhang.id not in(select 文章_id from huifubiao )
      

  2.   

    楼上的我有个异议,文章在回复表中的记录是什么时候建立的呢?
    按照楼上的查询方式难道是在有了回复后才建立的吗?
    好像应该是在文章表中有了这篇文章的记录后,就在回复表中插入的,待有回复了只需更新这个回复记录的回复总数字段的值就是了。
    WenZhang表:
    ID              TITLE                         DETAIL_INFO
    1               市政府加大福利力度                
    2               天津空气质量日渐改善              
    3               天津工业大学发明超级节能灯        
    HuiFu表:
    ID     WenZhangID         回复人          回复日期                     回覆内容
    1           1              KANON         2009-03-26               很好
    2           2              空                空                           空
    3           3              KANON         2009-03-26               厉害
    4           3              LGT           2009-03-26               真的很厉害
    表中没有2号文章的回复记录,
    所以应该如下查询:
    SELECT WenZhang.* FROM WenZhang WHERE WenZhang.ID NOT IN(SELECT HuiFu.WenZhangID FROM HuiFu GROUP BY WenZhangID HAVING COUNT(*)>0)
    就是这样了。我认为啊。呵呵。
      

  3.   

    我一般是不会这样做的,这样会在huifubiao中产生许多无效的记录,如huifu.id=2的这条,这样无论是从维护性和还是效率上讲都是有害无利的,所以,我只有当 有回复时,才会向回复表插入记录回复7楼  谢谢