try something likeselect Ming, Count(Content)
from tableA, tableB
where Content like '%' + substring(Ming,1,2) + '%'
group by Ming

解决方案 »

  1.   

    谢谢saucer(思归, MS .NET MVP) :
    好象没满足二个条件,一是为零的省份也统计在内了,二是从多到少的结果表,没排序。我再试一下。能否写全代码?
      

  2.   

    >>>"一是为零的省份也统计在内了"
    are you sure??>>>"二是从多到少的结果表,没排序"select Ming, Count(Content) as Count
    from tableA, tableB
    where Content like '%' + substring(Ming,1,2) + '%'
    group by Ming
    order by Count DESC
      

  3.   

    你的表B怎么这样设计啊?
    建议这样:
    --编号  起点站城市编号  终点站城市编号
      ID    StartCityID     EndCityID
      ------------------------------
       1    1001            1401
       2    1001            1501再用存储过程就能轻松完成你的功能了。
    要统计起点站的城市,对StartCityID使用Count
    要统计终点战的城市,对EndCityID使用Count要统计总和,将上面两个结果分别存在两个table变量里头或者临时表里面,根据CityID进行字段相加设计一个临时视图统统搞定。
      

  4.   

    谢谢saucer(思归, MS .NET MVP) :
      不好意思,表A不变,如改变表B内容这样,其余一样,该如何改动代码:No      Start         End1     江苏南京市     福建省广州市
    2     江苏南京市     广东省广州市
    3     广西南宁市     广东省广州市
    4     广西南宁市     福建省广州市
    5     广东省广州市   广西南宁市
    6     江苏南京市     福建省广州市
    7     浙江绍兴市      广东省广州市
    8     江苏南京市     浙江绍兴市
    9     江苏南京市     浙江绍兴市
    10     浙江绍兴市    江苏南京市结果还是为:江苏省 6
    浙江省 4
    广西壮族自治区    3
    To janssenkm(正在吃饭,请不要打扰) :
    结构是应该如你所讲,但我实现关键字查询却复杂了。
      

  5.   

    忘了一点,只要起点Start或终点End有一个包含省份Ming的前2个字的就行。请saucer(思归, MS .NET MVP)再答一次,最后一次!
      

  6.   

    you should use janssenkm(正在吃饭,请不要打扰)'s method and divide Start and End into 省 and 市, but if you insist, tryselect Ming, Count(No) as Count
    from tableA, tableB
    where Start like '%' + substring(Ming,1,2) + '%' or End like '%' + substring(Ming,1,2) + '%'
    group by Ming
    order by Count DESC