当前位置: 代码迷 >> Sql Server >> 这个查询语句应该如何写
  详细解决方案

这个查询语句应该如何写

热度:24   发布时间:2016-04-27 21:25:34.0
这个查询语句应该怎么写?
做一个查询页面,是名称查询。              
  string   sql   =   "select   count(*)   as   count   ,id,   mc,   unit_name,unit_organ,   convert(char(10),build_date,120)   as   build_date   from   cases   where   mc   like   '% "   +   mc   +   "% '   ";
为什么老是提示
列   'cases.mc '   在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在   GROUP   BY   子句中。
列   'cases.unit_name '   在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在   GROUP   BY   子句中。
列   'cases.unit_organ '   在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在   GROUP   BY   子句中。
列   'cases.build_date '   在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在   GROUP   BY   子句中。


------解决方案--------------------
string sql = "select count(*) as count ,id, mc, unit_name,unit_organ, convert(char(10),build_date,120) as build_date from cases where mc like '% " + mc + "% '
group by id,mc,unit_name,unit_organ, convert(char(10),build_date,120) ";

------解决方案--------------------
这条SQL语句用了聚合函数cuont,所以在where语句后面需要加group by 语句。
正确的如下:
string sql = "select count(*) as count ,id, mc, unit_name,unit_organ, convert(char(10),build_date,120) as build_date from cases where mc like '% " + mc + "% ' group by id, mc, unit_name,unit_organ,build_date ";
------解决方案--------------------
錯誤提示已經說明瞭錯誤的原因了
------解决方案--------------------
聚合函数cuont是分组统计函数,所以要同时用group by 进行分组.

paoluo(一天到晚游泳的鱼) 答案却可
  相关解决方案