语句是这样的:
SELECT JamKind, COUNT(*) AS CT
FROM  tblTrafficJam
GROUP BY JamKind结果集里面并没有显示CT为0的行,请问如何加上这一行。

解决方案 »

  1.   

    。怎么可能有ct为0的,除非你那个select语句没有返回值。
      

  2.   

    假设有表"tbJamKind (JamKind primary key, Descript)"存放JamKind的所有数据
    select a.JamKind, isnull(b.CT,0)
    from tbJamKind a
    left join (
      SELECT JamKind, COUNT(*) AS CT
      FROM  tblTrafficJam
      GROUP BY JamKind 
    ) as b on a.JamKind=b.JamKind
      

  3.   

    这个不大对吧.
    如果你要加上CT为0的行,
    那么他jamkind这个字段的值该怎么放啊?
    和你group by jamkind的本意矛盾了或者你单独加上一行SELECT JamKind, COUNT(*) AS CT 
    FROM  tblTrafficJam 
    GROUP BY JamKind 
    union
    select 'Others' as JamKind ,'0' as ct
    FROM  tblTrafficJam 
      

  4.   

    有个问题哦,如果count(*)为0,那么不就是没有相应的JamKind值么,那样当然不会有结果,想要结果的外连接一下JamKind字段
      

  5.   

    jamkind有相应的值tbldescjamkind
    encode   discription
    1 行驶不畅
    2 交通拥挤
    3 交通拥堵
    4 交通堵塞
      

  6.   

    *&(^*&^*&)(*()
    两表连接???说清楚很累吗?
      

  7.   

    count(*) 加为0的一行,很奇怪。
    请楼主把表中的数据贴出来看看。
      

  8.   

    你這種應該有個參考表﹐用left join 才可能出現你說的count 為0的資料
      

  9.   

    LS说的没错,有个参数表和一个数据表,数据表引用参数表中的数据,按照参数表中的各项进行统计。
    这是参数表
    tbldescjamkind 
    encode  discription 
      1      行驶不畅 
      2      交通拥挤 
      3      交通拥堵 
      4      交通堵塞 
      

  10.   

    这个是数据表
    id parentid       neteork   milepost jamkind
    07736e95c8458e542689dc25ba6830d6daa 07736e95c8458e542689dc25ba6830d6daa S201 1234.101 3
    078a338da4a5c54444091c3aa31dc367b04 078a338da4a5c54444091c3aa31dc367b04 g010 321.000 1
    07L7177ef43c9f642e882bbbf55892d8704 07L7177ef43c9f642e882bbbf55892d8704 S108 123.001 1
    07S3931b212826d40489a4be3c72472284c 07S3931b212826d40489a4be3c72472284c G045 4501.000 3
    07S67858c67cd3147e695b2ef3a499368c5 07S0d758870b4c14df1b0628fa5f1cf7ffd G045 123.000 1
    07S6adf229ce118497d9b2571650a7799bd 07Sa7608b0e9eba46e386c496072fc7c681 G312 123.000 1
      

  11.   

    数据表结构:id    parentid    neteork  milepost jamkind 
      

  12.   

    那就直接用left join 就可以搞定了。
      

  13.   

    SELECT     jamkind.Description AS jamkindDesc, COUNT(*) AS CT
    FROM         tblTrafficJam AS Jam LEFT OUTER JOIN
                 tblDescJamKind AS jamkind ON Jam.JamKind = jamkind.Encode
    GROUP BY jamkind.Description我是这样写的,结果应该有4行的,但count为0的那行并没有显示出来。